1. 程式人生 > >Python進階(十五)-file檔案操作

Python進階(十五)-file檔案操作

分享一下我的偶像大神的人工智慧教程!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