python程式設計 從入門到實踐(十 檔案和異常)

2021-10-11 08:25:52 字數 3262 閱讀 2216

建立檔案:pi_digits.txt

內容如下

3.1415926535

8979323846

2643383279

將txt檔案存放在與工程檔案同乙個目錄下,接著開始編寫簡單的**讀取上面的txt檔案中的資料,建立file_reader.py檔案

with

open

('pi_digits.txt'

)as file_object:

contents = file_object.read(

)print

(contents)

函式open() 接受乙個引數:要開啟的檔案的名稱。

執行結果

讀取的檔案與工程檔案不在同乙個路徑下時,設定相對路徑。

在linux和os x中

with

open

('text_files/filename.txt'

)as file_object:

或者,在在windows系統中

with

open

('text_files\filename.txt'

)as file_object:

設定絕對路徑

file_path =

'/home/ehmatthes/other_files/text_files/filename.txt'

with

open

(file_path)

as file_object:

要以每次一行的方式檢查檔案,可對檔案物件使用for 迴圈:

#檔案路徑

filename =

'resources\pi_digits.txt'

with

open

(filename)

as file_object:

# 逐行讀取檔案

for line in file_object:

# 使用rstrip()去除讀取後出現的空格

print

(line.strip(

))

使用關鍵字with 時,open() 返回的檔案物件只在with **塊內可用。如果要在with **塊外訪問檔案的內容,可在with **塊內將檔案的各行儲存在乙個列表中,並 在with **塊外使用該列表:你可以立即處理檔案的各個部分,也可推遲到程式後面再處理。 下面的示例在with **塊中將檔案pi_digits.txt的各行儲存在乙個列表中,再在with **塊外列印它們:

filename =

'resources\pi_digits.txt'

with

open

(filename)

as file_object:

# 方法readlines() 從檔案中讀取每一行

lines = file_object.readlines(

)# 逐行讀取檔案

for line in lines:

# 使用rstrip()去除讀取後出現的空格

print

(line.strip(

))

建立.py檔案並編寫如下**:

filename =

'resources\pi_digits.txt'

with

open

(filename)

as file_object:

# 方法readlines() 從檔案中讀取每一行

lines = file_object.readlines(

)pi_string =

''#設定變數用於儲存讀取的內容

for line in lines:

# 使用迴圈將讀取的內容加入到pi_string變數中,.strip()刪除左邊的空格

pi_string +=line.strip(

)print

(pi_string)

print

(len

(pi_string)

)

這樣就可以直接獲得乙個字串

我們只列印到小數點後50位,修改檔案**如下:

filename =

'resources\pi_million_digits.txt'

with

open

(filename,encoding=

'utf-8'

)as file_object:

# 方法readlines() 從檔案中讀取每一行

lines = file_object.readlines(

)pi_string =

''for line in lines:

pi_string +=line.rstrip(

)# 列印小數點後50位以及長度

print

(pi_string[:52

]+"..."

)print

(len

(pi_string)

)

控制台輸入你的生日,在變數中判斷是否存在:

filename =

'resources\pi_million_digits.txt'

with

open

(filename,encoding=

'utf-8'

)as file_object:

# 方法readlines() 從檔案中讀取每一行

lines = file_object.readlines(

)pi_string =

''for line in lines:

pi_string +=line.rstrip(

)birthday =

input

("請輸入你的生日:"

)if birthday in pi_string:

print

("圓周率中包含你的生日!"

)else

:print

("圓周率中不包含你的生日!"

)

Python 程式設計 從入門到實踐

1.官網安裝 3.環境配置 務必選中核取方塊add python to path 4.檢視 啟動python版本的命令 python 執行 print hello python world 5.終端執行x.py檔案 python x.py 7.檢視當前目錄中的所有檔案的命令 dir windows系...

Python程式設計從入門到實踐 基礎入門

python程式設計從入門到實踐 基礎入門 1 python中的變數 2 python首字母大寫使用title 方法,全部大寫upper 方法,全部小寫lower 方法 3 python中字串拼接使用 號 4 python中刪除字串的空格 刪除末尾空格的rstrip 刪除開頭空格的lstrip 刪除...

Python程式設計 從入門到實踐 1

內容總結自 python程式設計 從入門到實踐 安裝python3 安裝文字編輯器sublime text並配置python3環境 安裝sublime text tools new build system 將 untitled.sublime build 文件中的所有內容刪除,輸入以下內容 注意,...