讀取file.txt檔案
使用關鍵字with時,open()返回的檔案物件只在with**塊內可用。
with
open
('file.txt'
)as file_obj:
contents = file_obj.read(
)print
(contents)
#open('file.txt')返回乙個表示檔案file.txt的物件;這個物件被儲存在file_obj中
在程式檔案所在目錄下的乙個資料夾text_files:
在linux和os x中:with open(『text_files/filename.txt』) as file_object:
windows系統中:with open(『text_files\filename.txt』) as file_object:
#file.txt
onetwo
three
#逐行讀取檔案方法1
for line in
open
("file.txt"):
print
(line)
#逐行讀取檔案方法2
filename =
'file.txt'
with
open
(filename)
as file_object:
for line in file_object:
print
(line)--
----
----
----
----
----
----
----
----
----
----
----
----
-one
twothree
#注意每行輸出後的兩行換行:在file.txt中,
#每行的末尾都有乙個看不見的換行符,
#乙個來自檔案,另乙個來自print語句
python3 去除換行的三種方法
1
.print
(line.rstrip())
2.print
(line.strip(
'\n'))
3. f =open
("file.txt"
)line = f.readline(
)while line:
print
(line, end=
'')
line = f.readline(
)f.close(
)#三者輸出均為
onetwo
three
another example:
file1 =
open
('file.txt'
,'r'
)# 全部輸入,打成一行
content = file1.readlines(
)print
(len
(content)
)print
(content)
file1.close()-
----
----
----
----
----
----
----
----
----
----
----
----
--3[
'one\n'
,'two\n'
,'three'
]
如果要在with**塊外訪問檔案的內容,可在with**塊內將檔案的各行儲存在列表中
filename =
'file.txt'
with
open
(filename)
as file_object:
lines = file_object.readlines(
)#readlines讀取每一行將其儲存在列表中
text_string =
''for line in lines:
text_string += line.strip(
)print
(text_string)
onetwothree
filename =
'love_u.txt'
with
open
(filename,
'w')
as file_object:
file_object.write(
"i love you.")-
----
----
----
----
----
----
----
----
----
----
----
----
--i love you.
open()的第乙個實參–開啟的檔案的名稱; 第二個實參–寫入模式開啟
python只能將字串寫入文字檔案
如果你要給檔案新增內容,而不是覆蓋原有的內容,可以附加模式開啟檔案:寫入的行都將新增到檔案末尾
filename =
'love_u.txt'
with
open
(filename,
'a')
as file_object:
file_object.write(
" i love being with you.\n")-
----
----
----
----
----
----
----
----
----
----
----
----
---> i love you. i love being with you.
try
:#do sth
except
:#可能出現的問題和相應的解決方式
#或者程式執行失敗後啥都不做:
pass
else
:#執行語句
使用try-except**塊提供了兩個重要的優點:避免讓使用者看到traceback;讓程式能夠繼續分析能夠找到的其他檔案。
如果不捕獲因錯誤情況的發生而引發的filenotfounderror異常,使用者將看到完整的traceback,而程式將在嘗試分析失敗後停止執行——後面的**將不再被考慮。
import json
# 列表
name =
['alice'
,'kate'
,'bob'
]# 字典
language =
# 元組
number =(3
,2,1
)with
open
('prefered_language.json'
,'w'
)as f1:
json.dump(name, f1)
# json.dump(language, f1)
# json.dump(number, f1)
filename =
'prefered_language.json'
with
open
(filename)
as f_obj:
txt = json.load(f_obj)
print
(txt)
>>
>
['alice'
,'kate'
,'bob'
]
Python 檔案和異常
關鍵字with 在不再需要訪問檔案後將其關閉。我們使用方法read 讀取這個檔案的全部內容,並將其作為乙個長長的字串儲存在變數contents中.還可以將檔案在計算機中的準確位置告訴python,這樣就不用關心當前執行的程式儲存在什麼地方了。這稱為絕對檔案路徑 file path c users e...
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...