Python進階(十五)-file檔案操作
阿新 • • 發佈:2018-11-11
分享一下我的偶像大神的人工智慧教程!http://blog.csdn.net/jiangjunshow
也歡迎轉載我的文章,轉載請註明出處 https://blog.csdn.net/mm2zzyzzp
Python進階(十五)-file檔案操作
Python下檔案操作與Java差不多。開啟檔案的模式有三種:
- r,只讀模式(預設)。
- w,只寫模式。【不可讀;不存在則建立;存在則刪除內容;因為會清空原有檔案的內容,一定要慎用】
- a,追加模式。【可讀; 不存在則建立;存在則只追加內容;】
注意最後要記得關閉檔案:f.close()
python只能將字串寫入到文字檔案。要將數值資料儲存到文字本件中,必須先試用函式str()將其轉換為字串格式。
#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行,做一個特殊的列印(這種方式比較低效,因為它會先把檔案全部讀取到記憶體中,檔案較大時會很影響效能)
f = open('yesterday','r',encoding='utf-8')
for index,line in enumerate(f.readlines()):
if index == 2:
print('-----測試線----',line)
continue
print(line)
#比較高效的,逐行讀取檔案內容,因為它是一行一行的去讀取檔案,不會先把檔案一次性全部讀取到記憶體中
f = open('yesterday','r',encoding='utf-8')
for line in f:
print(line)
#比較高效的,對檔案的3三行進行過特殊列印
f = open('yesterday','r',encoding='utf-8')
count = 0
for line in f:
if count == 2:
print('------測試線----:',line)
count += 1
print(line)
#w模式(如果沒有就建立檔案,如果有就清空檔案,一定要慎用)
f = open('yesterday','w',encoding='utf-8')
f.write("這就是一行測試\n")
f.write("測試2\n")
f.write("測試3")
#a模式(追加模式,如果沒有就建立檔案,如果有就把內容追加進去)
f = open('yesterday','a',encoding='utf-8')
f.write("test1\n")
#檔案游標的操作
f = open('yesterday','r',encoding='utf-8')
#獲得檔案的游標
print(f.tell())
print(f.readline())
print(f.tell())
#回到最開始的位置(也可以指定一個位置,前提是你得知道你去往的字元具體在哪個位置才行)
f.seek(0)
#顯示檔案的編碼
print(f.encoding)
#顯示檔案控制代碼的編號(我並不確定這個說法是否正確,用到時請仔細去查一下)
print(f.fileno())
#測試是否是一個終端裝置檔案
print(f.isatty())
#把快取的內容重新整理到硬碟(進度條那個腳本里有寫一個示例)
f.flush()
#指定檔案從哪裡開始截斷,如果沒有引數,預設從0開始等於清空了這個檔案
#f.truncate()
#r+ 模式(讀,追加模式)
f = open('yesterday','r+',encoding='utf-8')
data = f.read()
print(data)
f.write("test...\n")
#還有 w+寫讀模式, a+追加讀模式,這一般不用,真用到了再去了解下吧
#rb 模式,以二進位制的方式讀取這個檔案
#wb 模式,二進位制寫
'''
'''
#with語句(很實用,記得要經常用喲~,在《Python程式設計從入門到實戰》那本書裡的檔案與異常那一章有詳細用法)
#為了避免開啟檔案後忘記關閉,可以通過管理上下文,即:
with open('log','r') as f:
...
#如此方式,當with程式碼塊執行完畢時,內部會自動關閉並釋放檔案資源。
#在Python 2.7 後,with又支援同時對多個檔案的上下文進行管理,即:
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
給我偶像的人工智慧教程打call!http://blog.csdn.net/jiangjunshow