利用文件打开方式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

 

posted @ 2017-12-11 22:54  双商略低的派生  阅读(6309)  评论(0编辑  收藏  举报