第5章 文件处理
了解了以下一些概念:文件、句柄、python2的open(), file()(内置)、python3的open()。
有以下一些方法。
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 sysif 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