讀取整個檔案
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...