python程式設計 檔案和異常

2021-10-09 04:06:05 字數 4076 閱讀 5871

讀取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...