第5章 文件处理
了解了以下一些概念:文件、句柄、python2的open(), file()(内置)、python3的open()。
有以下一些方法。
read() 读取所有内容,游标到文件尾
readline() 读取一行,游标到第二行首
readlines() 读取每一行,存于列表中
f.write('1111
222
') #针对文本模式的写,需要自己写换行符
f.write('1111
222
'.encode('utf-8')) #针对b模式的写,需要自己写换行符
f.writelines(['333
','444
']) #文件模式
f.writelines([bytes('333
',encoding='utf-8'),'444
'.encode('utf-8')]) #b模式
#了解
f.readable() #文件是否可读
f.writable() #文件是否可读
f.closed #文件是否关闭
f.encoding #如果文件打开模式为b,则没有该属性
f.flush() #立刻将文件内容从内存刷到硬盘
练习,用b模式写cp工具
import sys if len(sys.argv) !=3: print ('Usage: cp source_file, target_file') sys.exit() source_file,target_file = sys.argv[1],sys.argv[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中的argv会忽略掉第一个argv,也就是python