python闯关_Day04

第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 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

 

posted on 2019-01-10 15:43  NetDevOps  阅读(131)  评论(0编辑  收藏  举报

导航