利用文件打开方式with open('文件名',方式) as 变量名做一个简单的复制(排除大文件bug)
1 #!usr/bin/env python 2 #-*- coding=utf-8 -*- 3 4 with open('b.py','r') as obj1, open('c.py','w') as obj2:
5 for line in obj1:#此处不写.read() 6 obj2.write(line)
将a.py的数据一行一行的进行复制 节省的了内存
另外 这种打开方式 免除了 之后需要的f.close() 对代码量上有细微的差距...(我自己想的...)
注意:第二个open不接with 以及最后的冒号
其中第5行的 for line in xxx.read(),达成的python中的readline模块的功能,感觉对我来说更方便所以以后我决定就用它了!
#2017.12.12更改 第五行obj1.之后不能继续接.read() 要不然只会一个字一个字输出!
----------------------分隔符---------------------------------------------
更正上面的错误!!
我发现我想一行一行读取的时候还是需要obj1.readlines()的。。。很抱歉
例如:
with open ('c.py','a+' ) as obj1: obj1.seek(0) for line in obj1.readlines(): print (line) #输出结果 ''' #!usr/bin/env python #-*- coding=utf-8 -*- halo hello healing asdasd '''
只要好好记得 文件读取方式的时候光标就好了 r,w,x都是起始 但是a是追加(让我想起了linux下的rwx...好吧闲话)
with open ('c.py','r+' ) as obj1: a = obj1.tell() print (a) #输出结果0 with open ('c.py','w+' ) as obj1: a = obj1.tell() print (a) #输出结果0 with open('c.py', 'x+') as obj1: a = obj1.tell() print (a) #输出结果0