python基礎九 檔案和異常

2021-09-27 04:01:30 字數 2779 閱讀 4769

讀取整個檔案

with open('pi_digits.txt') as file_object:

contents = file_object.read()

print(contents.rstrip())

注:

with的用法:讓檔案妥善地開啟和關閉。

rstrip()函式:消除空行

使用檔案的內容:

with open('test_files/pi_digits.txt') as file_object:

lines = file_object.readlines()

pi_string = ''

for line in lines:

pi_string += line.strip()

print(pi_string)

print(len(pi_string))

注:讀取文字檔案時,python將所有文字都解讀為字串。如果讀取的是數字,需要用int()將其轉化為整數,使用函式float()將其轉化為浮點數。

生日是否包含在圓周率中

with open('pi_million_digits.txt') as file_object:

lines = file_object.readlines()

pi_string = ''

for line in lines:

pi_string += line.strip()

birthday = input("enter your bithday:")

if birthday in pi_string:

else:

#print(pi_string[:6] + "...")

print(len(pi_string))

檔案寫入

filename = 'programing.txt'

with open(filename,'a') as file_object:

file_object.write("i also love you.\n")

file_object.write("i also love programing.\n")

注:open函式的幾種模式:r:讀取模式。w:寫入模式 a:附件模式,在原有基礎上可以新增其他內容。

寫入多行注意用\n:換行符號。

使用多個檔案,並且失敗時一聲不吭。

try, except的用法:如果try**塊中的**執行沒問題,python跳過except**塊。如果try**執行錯誤,python將查詢這樣的except模組,並執行**。

try, except,else模組中,try執行失敗,執行except, 執行成功,執行else模組。

def count_number(filename):

try:

with open(filename) as f_obj:

contents = f_obj.read()

except filenotfounderror:

pass

else:

words = contents.split()

number_words = len(words)

print("the novel " + filename +" has " + str(number_words) + ".")

filenames = ['alice.txt','sidd.txt','moby_dict.txt','little_women.txt']

for filename in filenames:

count_number(filename)

決定報告哪些錯誤,由使用者需求決定。

儲存資料

使用json來儲存資料。

import json

def stored_username():

filename = 'username.json'

try:

with open(filename) as f_obj:

username = json.load(f_obj)

except filenotfounderror:

return none

else:

return username

def get_new_name():

username = input("what's your name?")

filename = 'username.json'

with open(filename, 'w') as f_obj:

json.dump(username, f_obj)

return username

def greet_user():

username = stored_username()

if username:

print("welcome back," + username + "!")

else:

username = get_new_name()

greet_user()

重構

將**劃分為一系列完成具體工作的函式。這樣的過程稱為重構。

重構讓**更清晰,更易於理解,更容易擴充套件。

python基礎(九) 檔案

file open file path,mode r 其中file path為檔案路徑 絕對路徑和相對路徑都是可以的 mode是檔案的開啟方式。open 函式會返回乙個檔案物件,我們可以通過這個檔案物件來操作檔案。file.flush 重新整理緩衝區。file.close 關閉檔案。引數值開啟方式 ...

30天python基礎(九 檔案處理 )

1.件處理 件的處理包括讀 件和寫 件,讀寫 件就是請求作業系統開啟 個 件物件,然後,通過作業系統提供的接 從這個 件物件中讀取資料 讀 件 或者把資料寫 這個 件物件 寫 件 1.1 件讀取 件讀取可分為以下步驟 開啟 件 fp open qfile.txt r encoding utf 8 讀...

python基礎學習9 檔案與異常

訪問檔案,以及對檔案進行操作 以及異常的丟擲及處理 檔案 讀取檔案 filepath d desktop pi value.txt windows下是反斜槓 linux是斜槓 with open filepath as file object 開啟檔案,得到乙個檔案類file object,使用wi...