1. 程式人生 > >利用文件打開方式with open('文件名',方式) as 變量名做一個簡單的復制(排除大文件bug)

利用文件打開方式with open('文件名',方式) as 變量名做一個簡單的復制(排除大文件bug)

family rwx usr linux 利用 免除 數據 都是 lines

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模塊的功能,感覺對我來說更方便所以以後我決定就用它了!

----------------------分隔符---------------------------------------------

更正上面的錯誤!!

我發現我想一行一行讀取的時候還是需要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

利用文件打開方式with open('文件名',方式) as 變量名做一個簡單的復制(排除大文件bug)