關鍵字with 在不再需要訪問檔案後將其關閉
。
我們使用方法read()讀取這個檔案的全部內容
,並將其作為乙個長長的字串儲存在變數contents
中.
還可以將檔案在計算機中的準確位置告訴python,這樣就不用關心當前執行的程式儲存在什麼地方了。這稱為絕對檔案路徑
file_path =
'c:\users\ehmatthes\other_files\text_files\filename.txt'
with
open
(file_path)
as file_object:
注意 windows系統有時能夠正確地解讀檔案路徑中的斜槓。如果你使用的是windows系統,且結果不符合預期,請確保在檔案路徑中使用的是反斜槓。
發現列印結果每行多出乙個空行,因為read() 到達檔案末尾時返回乙個空字串,而將這個空字串顯示出來時就是乙個空行。
要刪除多出來的空行,可在print 語句中使用rstrip()
file_name =
'./test.txt'
with
open
(file_name)
as file_obj:
for line in file_obj:
print
(line.
rstrip()
)# 輸出結果如下:
3.1415926535
8979323846
2643383279
為了刪除兩邊的空格, 可以使用strip():
file_name =
'./test.txt'
with
open
(file_name)
as file_obj:
contents = file_obj.
readlines()
print
(contents)
pi_string =
''for item in contents:
pi_string += item.
strip()
print
(pi_string)
print
(len
(pi_string)
)# 輸出結果如下:
['3.1415926535\n'
,' 8979323846\n'
,' 2643383279'
]3.141592653589793238462643383279
32
注意:讀取文字檔案時,python將其中的所有文字都解讀為字串。如果你讀取的是數字,並要將其作為數值使用,就必須使用函式int() 將其轉換為整數,或使用函式float() 將其轉換為浮點數。
開啟檔案時,可指定讀取模式 ('r' )
、寫入模式 ('w' )
、附加模式 ('a' )
或讓你能夠讀取和寫入檔案的模式('r+' )
。我們使用檔案物件的方法write() 將乙個字串寫入檔案
except **塊告訴python,如果它嘗試執行try **塊中的**時引發了指定的異常,該怎麼辦。
使用json.load() 將這個列表讀取到記憶體中
:
import json
numbers =[2
,3,5
,7,11
,13]file_name =
'numbers.json'
with
open
(file_name)
as f_obj:
numbers = json.
load
(f_obj)
print
(numbers)
# 輸出結果如下:[2
,3,5
,7,11
,13]
Python檔案和異常
程式和執行時資料是在記憶體中駐留的,涉及到資料交換的地方,通常是磁碟 網路等,因此需要io介面。io程式設計中,stream 流 是乙個很重要的概念,可以把流想象成乙個水管,資料就是水管裡的水,但是只能單向流動。input stream就是資料從外面 磁碟 網路 流進記憶體,output strea...
Python 檔案和異常
usr bin env python with open pi as file object contents file object.read print contents 3.1415926 5212533 2324255 1 逐行讀取 usr bin env python filename p...
Python檔案和異常
程式和執行時資料是在記憶體中駐留的,涉及到資料交換的地方,通常是磁碟 網路等,因此需要io介面。io程式設計中,stream 流 是乙個很重要的概念,可以把流想象成乙個水管,資料就是水管裡的水,但是只能單向流動。input stream就是資料從外面 磁碟 網路 流進記憶體,output strea...