利用文件打開方式with open('文件名',方式) as 變量名做一個簡單的復制(排除大文件bug)
阿新 • • 發佈:2017-12-12
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)