Linux之whereis命令
905
2025-04-01
#Python進(jìn)階(十五)-file文件操作
Python下文件操作與Java差不多。打開文件的模式有三種:
r,只讀模式(默認(rèn))。
w,只寫模式。【不可讀;不存在則創(chuàng)建;存在則刪除內(nèi)容;因?yàn)闀蹇赵形募膬?nèi)容,一定要慎用】
a,追加模式?!究勺x; 不存在則創(chuàng)建;存在則只追加內(nèi)容;】
注意最后要記得關(guān)閉文件:f.close()
python只能將字符串寫入到文本文件。要將數(shù)值數(shù)據(jù)存儲到文本本件中,必須先試用函數(shù)str()將其轉(zhuǎn)換為字符串格式。
#r模式(只讀模式) f = open('yesterday',encoding='utf-8') data = f.read() f.close() print(data) #只讀文件的前5行: f = open('yesterday','r',encoding='utf-8') for i in range(5): print(f.readline()) #以列表的方式讀取這個文件 f = open('yesterday','r',encoding='utf-8') for line in f.readlines(): print(line) #對文件的第3行,做一個特殊的打?。ㄟ@種方式比較低效,因?yàn)樗鼤劝盐募孔x取到內(nèi)存中,文件較大時會很影響性能) f = open('yesterday','r',encoding='utf-8') for index,line in enumerate(f.readlines()): if index == 2: print('-----測試線----',line) continue print(line) #比較高效的,逐行讀取文件內(nèi)容,因?yàn)樗且恍幸恍械娜プx取文件,不會先把文件一次性全部讀取到內(nèi)存中 f = open('yesterday','r',encoding='utf-8') for line in f: print(line) #比較高效的,對文件的3三行進(jìn)行過特殊打印 f = open('yesterday','r',encoding='utf-8') count = 0 for line in f: if count == 2: print('------測試線----:',line) count += 1 print(line) #w模式(如果沒有就創(chuàng)建文件,如果有就清空文件,一定要慎用) f = open('yesterday','w',encoding='utf-8') f.write("這就是一行測試\n") f.write("測試2\n") f.write("測試3") #a模式(追加模式,如果沒有就創(chuàng)建文件,如果有就把內(nèi)容追加進(jìn)去) f = open('yesterday','a',encoding='utf-8') f.write("test1\n") #文件光標(biāo)的操作 f = open('yesterday','r',encoding='utf-8') #獲得文件的光標(biāo) print(f.tell()) print(f.readline()) print(f.tell()) #回到最開始的位置(也可以指定一個位置,前提是你得知道你去往的字符具體在哪個位置才行) f.seek(0) #顯示文件的編碼 print(f.encoding) #顯示文件句柄的編號(我并不確定這個說法是否正確,用到時請仔細(xì)去查一下) print(f.fileno()) #測試是否是一個終端設(shè)備文件 print(f.isatty()) #把緩存的內(nèi)容刷新到硬盤(進(jìn)度條那個腳本里有寫一個示例) f.flush() #指定文件從哪里開始截斷,如果沒有參數(shù),默認(rèn)從0開始等于清空了這個文件 #f.truncate() #r+ 模式(讀,追加模式) f = open('yesterday','r+',encoding='utf-8') data = f.read() print(data) f.write("test...\n") #還有 w+寫讀模式, a+追加讀模式,這一般不用,真用到了再去了解下吧 #rb 模式,以二進(jìn)制的方式讀取這個文件 #wb 模式,二進(jìn)制寫 ''' ''' #with語句(很實(shí)用,記得要經(jīng)常用喲~,在《Python編程從入門到實(shí)戰(zhàn)》那本書里的文件與異常那一章有詳細(xì)用法) #為了避免打開文件后忘記關(guān)閉,可以通過管理上下文,即: with open('log','r') as f: ... #如此方式,當(dāng)with代碼塊執(zhí)行完畢時,內(nèi)部會自動關(guān)閉并釋放文件資源。 #在Python 2.7 后,with又支持同時對多個文件的上下文進(jìn)行管理,即: with open('log1') as obj1, open('log2') as obj2: pass
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
##參考資料
http://www.yiibai.com/python3/file_methods.html

Python
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。