python基礎之檔案操作和異常處理

2022-09-29 05:36:10 字數 2916 閱讀 4648

讀取整個檔案

讀取檔案先要建立乙個檔案,在程式的同一目錄下。

greet.txt

「hello world!

hello world!

hello world!

hello world!」

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

contents=file_object.read()

print(contents)

如果txt檔案中有中文,輸出出現亂碼時,可以with open(『greet.txt',encoding=『utf-8') as file_object:。

要以任何方式使用檔案時,都必須先開啟檔案,才能訪問。函式open()接受乙個引數,開啟檔案的名稱。在這裡open(『greet.txt')返回的是乙個表示檔案greet.txt的物件,然後將該物件賦給file_程式設計客棧object供以後使用。

關鍵字with在不再需要訪問檔案後將其關閉。也可以呼叫open()和close()來開啟程式設計客棧檔案。但是不推薦。

方法read()讀取檔案的全部內容,並將其作為乙個長長的字串賦給變數contents。

with open('greet.txt程式設計客棧',encoding='utf-8') as file_object:

for line in file_object:

print(line)

會發現多輸出空白行,檔案末尾會有乙個換行符,而print會換行,所以就多了,可以使用rstrip()。

with open('greet.txt',encoding='utf-8') as file_object:

for line in file_object:

print(line.rstrip())

with open('greet.txt',encoding='utf-8') as file_object:

lines=file_object.readlines()

for line in lines:

print(line.rstrip())

readlines()從檔案讀取每一行,並將其存在乙個列表中。

greet_str=''

with open('greet.txt',encoding='utf-8') as file_object:

lines=file_object.readlines()

for line in lines:

greet_str+=line

input_str=input('輸入你想查詢的字串')

if input_str in greet_str:

print('有')

else :

print('無')

message='hello world!'

print(message.replace('world','china'))

with open('greet.txt','w',encoding='utf-8') as file_object:

file_object.write('我愛程式設計')

w'告訴python要以寫入模式開啟這個檔案。開啟檔案時可以指定模式:讀取模式'r『,寫入模式'w',附加模式『a'或讀寫模式'r+『。如果省略了模式實參,則預設唯讀模式開啟檔案。

使用寫入模式時要小心,因為會把檔案的內容清空。

函式write()不會在文字末尾加換行符所以要我們自己新增。

如果要在檔案末尾附加內容,可以開啟附加模式,如果指定檔案不存在,python將自動建立乙個空檔案。

先greet.txt

with open('greet.txt','a',encoding='utf-8') as file_object:

file_object.write('我愛程式設計\n')

後greet.txt

python使用稱為異常的特殊物件來管理程式執行期間發生的錯誤。

異常是使用try-except**塊進行處理的。程式設計客棧

try:

print(4/0)

except zer程式設計客棧odivisionerror:

print('不能數以0')

如果**塊try-except後面還有**將接著執行。

try:

print(4/0)

except zerodivisionerror:

print('不能數以0')

print('--==')

使用檔案時如果找不到檔案,可以使用try-except**塊。

分析文字 split()

split()能根據乙個字串建立乙個列表,它以空格為分隔符將字串拆成多個部分。

str='你好 世界'

print(str.split())

當發生異常時我們也可以什麼都不做。

try:

print(4/0)

except zerodivisionerror:

pass

pass也可以提示我們什麼都沒有做。

模組json可以將簡單的資料結構儲存在檔案當中。json

不僅僅能在python中分享資料,也可以給其他程式語言分享。

import json

number=list(range(10))

with open('number.json','w') as file:

json.dump(number,file)

json.dump()接受兩個實參:要 儲存的資料和儲存資料的檔案物件。檔案通常使用副檔名.json來支出檔案儲存的資料為json格式。

import json

with open('number.json') as file:

number=json.load(file)

print(number)

將**改進的過程稱為重構。重構使**更加清晰,更易於理解,更容易擴容。

Python 檔案操作 和 目錄操作

我們知道,檔名 目錄名和鏈結名都是用乙個字串作為其識別符號的,但是給我們乙個識別符號,我們該如何確定它所指的到底是常規檔案檔名 目錄名還是鏈結名呢?這時,我們可以使用os.path模組提供的isfile函式 isdir函式和islink函式來達成我們的目標,如下所示 print myfile,是乙個...

python檔案操作和異常

python檔案的操作和異常 toc 這兩個月複習考研的同時,在github上斷斷續續的跟著駱先生 jackfrued 在我關注裡有 學習了一段時間的python,由於是自學所以經常會遇到一些容易卡死的問題,這篇文章我就簡單的分享一下在檔案及檔案異常我遇到的問題。函式語法 open file uni...

Python 檔案操作和集合

這篇部落格來說一下python對檔案的操作。對檔案的操作分三步 1 開啟檔案獲取檔案的控制代碼,控制代碼就理解為這個檔案 2 通過檔案控制代碼操作檔案 3 關閉檔案。現有以下檔案file.txt 檔案基本操作 開啟檔案時,需要指定檔案路徑和以何等方式開啟檔案,開啟後,即可獲取該檔案控制代碼,後面通過...