寫入檔案
f =
open
('my_path/my_file.txt'
,'w'
) f.write(
"hello there!"
) f.close(
)
with
語法,該語法會在你使用完檔案後自動關閉該檔案
with
open
('my_path/my_file.txt'
,'r'
)as f:
file_data = f.read(
)
在之前的**中,f.read()
呼叫沒有傳入引數。它自動變成從當前位置讀取檔案的所有剩餘內容,即整個檔案。如果向 .read() 傳入整型引數,它將讀取長度是這麼多字元的內容,輸出所有內容,並使 『window』 保持在該位置以準備繼續讀取。
with
open
(camelot.txt)
as song:
print
(song.read(2)
)print
(song.read(8)
)print
(song.read(
))
輸出:
we
're the
knights of the round table
we dance whenever we're able
讀取檔案下一行的方法:f.readlines()
python 將使用語法for line in file
迴圈訪問檔案中的各行內容。 我可以使用該語法建立列表中的行列表。因為每行依然包含換行符,因此我使用.strip()
刪掉換行符。
camelot_lines =
with
open
("camelot.txt"
)as f:
for line in f:))
print
(camelot_lines)
# ["we're the knights of the round table", "we dance whenever we're able"]
相關練習:你將建立乙個演員名單,列出參演電視劇集《巨蟒劇團之飛翔的馬戲團》的演員。寫乙個叫做create_cast_list
的函式,該函式會接受檔名作為輸入,並返回演員姓名列表。 它將執行檔案flying_circus_cast.txt
。檔案的每行包含演員姓名、逗號,以及關於節目角色的一些(凌亂)資訊。你只需提取姓名,並新增到列表中。你可以使用.split()
方法處理每行。
解決方案:
def
create_cast_list
(filename)
: cast_list =
#use with to open the file filename
#use the for loop syntax to process each line
#and add the actor name to cast_list
with
open
(filename)
as f:
# use the for loop syntax to process each line
# and add the actor name to cast_list
for line in f:
line_data = line.split(
',')0]
)return cast_list
cast_list = create_cast_list(
'./txts/flying_circus_cast.txt'
)for actor in cast_list:
print
(actor)
NSFileHandle對檔案進行讀寫操作
nslog 路徑 fullpath nsfilehandle filehandle nsfilehandle filehandleforwritingatpath fullpath filehandle seektoendoffile filehandle writedata log datausi...
十八 python 對檔案讀寫
檔案的讀寫按道理是應該在前面有所提及的,居然忘了,主要是比較簡單,所以一直不想寫,現今補上這一部分的內容。方法一 如下 f open foo.txt 返回乙個檔案物件 line f.readline 呼叫檔案的 readline 方法 while line print line,後面跟 將忽略換行符...
python對檔案的讀寫操作
python對多個json物件的json檔案讀取 參考部落格 with open data path,r encoding utf 8 as f for item in jsonlines.reader f item是按行讀取的乙個json物件 print item python寫入檔案 a 表示不...