第5章 檔案處理
有以下一些方法。
read() 讀取所有內容,游標到檔案尾
readline() 讀取一行,游標到第二行首
readlines() 讀取每一行,存於列表中
f.write('1111\n222\n') #針對文字模式的寫,需要自己寫換行符
f.write('1111\n222\n'.encode('utf-8')) #針對b模式的寫,需要自己寫換行符
f.writelines(['333\n','444\n']) #檔案模式
f.writelines([bytes('333\n',encoding='utf-8'),'444\n'.encode('utf-8')]) #b模式
#了解f.readable() #檔案是否可讀
f.writable() #檔案是否可讀
f.closed #檔案是否關閉
f.encoding #如果檔案開啟模式為b,則沒有該屬性
f.flush() #立刻將檔案內容從記憶體刷到硬碟
練習,用b模式寫cp工具
import sys
if len(sys.ar**) !=3:
print ('usage: cp source_file, target_file')
sys.exit()
source_file,target_file = sys.ar**[1],sys.ar**[2]
with open(source_file, 'rb') as read_f, open(target_file,'wb') as write_f:
for line in read_f:
write_f.write(line)
執行結果
從結果上看,在windows中,python中的ar**會忽略掉第乙個ar**,也就是python
python闖關 python闖關 Day05
乙個簡單的 選單 usr bin env python coding utf 8 mymenu 動物 貓 黃貓 花貓 狗 二哈 金毛 植物 樹 大樹 小樹 草 綠草 矮草 menu list list mymenu.keys while true print 編號 center 50,for i i...
python闖關 python闖關 Day02
q1 寫乙個使用者迴圈猜年齡的遊戲,猜對就退出,猜不對就繼續猜,猜三次,提示使用者是否繼續,使用者回答y或者y就繼續猜,三次之後再重複,回答n或n就結束遊戲。usr bin env python coding utf 8 猜年齡 import random age random.randint 1,...
python闖關 python闖關 Day009
第9章 合併表達 1 將names albert james kobe kd 中的名字全部變大寫 names albert james kobe kd names name.upper for name in names 應記住的表達方式,很python print names 2 將names a...