python 檔案操作(with 檔案和路徑)

2021-09-11 06:19:13 字數 3226 閱讀 6136

一.檔案操作

.close()作用:關閉流,防止流阻塞。(一定要寫!!!)

#1.不安全**,理由:close()方法可能失效,關閉不上

f = open(""gj.txt",encoding="utf-8")

print(f.read())

print(1/0)

f.close()

#2.邏輯正確,但是**出現冗餘

my = open("gj.txt",encoding="utf-8")

try:

print(my.read())

print(1/0)

except:

pass

finally:

my.close()

#3.等價於#2.

with open("gj.txt",encoding="utf-8") as  my:

print(my.read())

print(1/0)

二.with:

1.作用:資源釋放(如:檔案使用後會自動關閉;執行緒中鎖的自動獲取和釋放等。)

2.工作原理:

(1)緊跟with後面的語句被求值後,返回物件的" __ enter __ () 「方法被呼叫,這個方法的返回值將被賦值給as後面的變數。

(2)當with後面的**塊全部被執行完後,將呼叫前面返回物件的」 __ exit __ () "方法。

with工作原理**如下:

class demo(): #定義乙個demo()類

def __enter__(self):

print("進入enter方法")

return "你好"

def __exit__(self, exc_type, exc_val, exc_tb):

print("進入exit方法")

print("----",exc_type) # exc_type: 錯誤的型別

print("----",exc_val) # exc_val: 錯誤型別對應的值

print("----",exc_tb) # exc_tb: **中錯誤發生的位置

執行結果:

第一步先 執行with後面的語句,在執行test()方法後,返回demo()類的物件;

呼叫demo()類中的__enter__()方法,在接收 __ enter __() 方法後,賦值給t並列印。

第二步在執行完全部方法後,呼叫 __ exit __ () 方法,釋放資源。

with總結:

實際上,在with後面的**塊丟擲異常時,exit()方法會被執行。開發庫時,清理資源,關閉資源等操作,都可以放在exit()方法中。

總之,with-as 表示式極大地簡化了每次寫finally的工作,這對**的優雅性是有極大的幫助的,這也是python語言優雅的乙個原因。

with還可以一次性的開啟多個檔案,如下所示:

with open(「a.txt」) as f1,open(「b.txt」) as f2:

do something

三.檔案和路徑:

1.fileinput:好處一次可以開啟所有檔案

1)用fileinput操作檔案的作用:

fileinput可以同時讀乙個或者多個檔案中的內容進行迭代、遍歷等操作。該模組的input()方法有點類似檔案的readlines()方法,區別是前者只是迭代乙個物件,每次只生成一行,而後者是一次性讀取所有行,當遇到大檔案時,無疑前者更有效率。

2)fileinput的常用可選引數:

(1)inplace:用於決定print輸出到哪。若inplace = 0,print 則輸出到螢幕(即標準輸出);若inplace = 1,則把print結果寫到檔案。預設情況下inplace = 0。

(2)backup:指定檔案的副檔名,如.bak,若備份檔案存在,則覆蓋。

2.fileinput模組中常用的函式:

input(): 返回能夠用於迭代 一行或多個檔案中所有行的物件

filename(): 返回當前檔案的名稱

lineno(): 返回當前讀取的行的數量

isfirstline(): 返回當前檔案行是否為檔案的第一行

filelineno(): 返回當前讀取行在檔案中的行數

執行結果:

執行結果:

3.合併

執行結果:

#.rstrip():作用:去空格和換行符

拆分檔案複製

檔案加密

四.亂碼解碼:

讀取檔案有兩種方式:位元組、字元

出現亂碼一般是以字元的方式讀取,為防止亂碼採用位元組方式讀取

採用utf-8解碼

執行結果:

Python9 檔案操作

檔案的開啟 open 1.py r r 以唯讀開啟檔案 w 開啟檔案用於寫入 a 開啟乙個檔案追加 rb,wb,ab 以二進位制方式操作 r w a 開啟檔案可讀寫 rb wb ab 以二進位制方式開啟檔案可讀寫 close 關閉檔案操作 read 讀取檔案 內可放要讀的位元組數,如 read 1 ...

python學習(九) 檔案操作

1 檔案開啟 1.開啟檔案,得到檔案控制代碼並賦值給乙個變數 f open a.txt r encoding utf 8 預設開啟模式就為r open預設編碼為gbk r,w,a 2.通過控制代碼對檔案進行操作 data f.read 3.關閉檔案 f.close 1 讀取 f.readable 是...

Python3 檔案操作

open函式的第乙個引數是要開啟的檔名 檔名區分大小寫 read函式可以一次性讀入並返回檔案的所有內容。close函式負責關閉檔案 注意 如果忘記關閉檔案,會造成系統資源消耗,而且會影響到後續對檔案的操作。方法執行後,會把檔案指標移動到檔案的末尾。示例 開啟要讀取的檔案 file open test...