第一種直接使用資料
for txt in open(『d:/datada/list_mulu.txt』,『r』):
print(txt)
輸出的結果是所有資料,格式與原資料保持不變,直接原樣輸出,內容如下:
d:/datada\boston.csv
d:/datada\路勁.txt
d:/datada\eee.txt
d:/datada\aaa.txt
d:/datada\list_mulu.txt
關於open()的mode引數:
『r』:讀 『w』:寫 『a』:追加
『r+』 == r+w(可讀可寫,檔案若不存在就報錯(ioerror))
『w+』 == w+r(可讀可寫,檔案若不存在就建立)
『a+』 ==a+r(可追加可寫,檔案若不存在就建立)
如果是二進位制檔案,就都加乙個b表示:
『rb』 『wb』 『ab』 『rb+』 『wb+』 『ab+』
讀取方式:檔案讀取的時候,行的末尾包含回車換行符號\n
如果檔案很大用readlines讀取,小檔案直接用read讀取,read讀取的是整個檔案內容,readlines結果是list
如果檔案很大,用read()記憶體不夠(如運維日誌幾十g)需要其它方式讀取
read() 當成乙個字串讀出
readlines() 返回的是列表
readline() 一行一行讀檔案,讀取超大檔案時需要這個方法
讀取的內容直接存到你的cache內,就是讀取到記憶體中,占用本機記憶體。
所以按需要選取讀取方式(記憶體,檔案大小,輸出形式)
例子1:
with open(『d:/datada/list_mulu.txt』,『r』)as f:
p=f.readlines()
print§
輸出結果:
[『d:/datada\boston.csv\n』, 『d:/datada\路勁.txt\n』, 『d:/datada\eee.txt\n』, 『d:/datada\aaa.txt\n』, 『d:/datada\list_mulu.txt\n』]
例子2:
with open(『d:/datada/list_mulu.txt』,『r』)as f:
p=f.readlines()
print(type§)
for p1 in p:
print(p1)
輸出:d:/datada\boston.csv
d:/datada\路勁.txt
d:/datada\eee.txt
d:/datada\aaa.txt
d:/datada\list_mulu.txt
例子3:
with open(『d:/datada/list_mulu.txt』,『r』)as f:
p=f.readline()
while p:
print(type§)
print§
p=f.readline()
輸出:d:/datada\boston.csv
d:/datada\路勁.txt
d:/datada\eee.txt
d:/datada\aaa.txt
d:/datada\list_mulu.txt
」
檔案開啟方式
r 以唯讀方式開啟檔案,該檔案必須存在。r 以讀 寫方式開啟檔案,該檔案必須存在。rb 以讀 寫方式開啟乙個二進位制檔案,只允許讀 寫資料。w 開啟只寫檔案,若檔案存在則檔案長度清為零,即該檔案內容會消失 若檔案不存在則建立該檔案。w 開啟可讀 寫檔案,若檔案存在則檔案長度清為零,即該檔案內容會消失...
python檔案開啟方式
r 唯讀 r 讀寫 兩種只能找檔案不能建立檔案 file line open users r content file line,read print content w 唯讀 w 讀寫 沒有該檔案可以建立檔案 str python file line open users w file line....
vi方式開啟檔案
開啟檔案的方式 vi 檔案 此方式中按esc可以隨意挪動游標而不能插入,在esc下dd是刪除一行,x是刪除乙個字元。按下i之後可以進入插入資料模式,按下a是可以在下 乙個游標處插入資料 ctrl u 向檔案首翻半屏 ctrl d 向檔案尾翻半屏 ctrl f 向檔案尾翻一屏 ctrl b 向檔案首翻...