python檔案操作出錯

2021-08-30 15:31:17 字數 860 閱讀 4237

本來想對乙個檔案重複執行某乙個函式,但是只有第一次執行函式時有結果,後面的幾次都沒有結果,最終發現是在函式外開啟檔案,第一次執行沒有問題,第二次執行時,檔案已經開啟,函式找不到該檔案了,或者是檔案沒有關閉,具體原因需要檢視python內部的執行機制。舉例如下:

定義乙個函式,輸出文字檔案裡的每一行,首先開啟檔案,然後執行函式,第一次執行正常,第二次執行沒有任何輸出。

file = open('temp.txt')

def pri(file):

for line in file:

print(line)

pri(file)//此函式正常輸出

print("***************")

pri(file)//此函式無輸出

修改為:

address = 'temp.txt'

def prin(address):

file = open(address)

for line in file:

print(line)

prin(address)

prin(address)

print('---------------')

file = open('temp.txt')

def pri(file):

for line in file:

print(line)

pri(file)

print("***************")

file.close()

file = open('temp.txt')

pri(file)

防止資料庫操作出錯的幾種思路

如 積分發放 1 扣除發放者積分 2 增加接受者積分 可能存在問題是步驟1執行後,由於某種原因導致步驟2沒有執行。一般有以下幾種方法 1 軟處理 先假設扣除積分 設定乙個狀態 等確定增加接受者積分後,再根據狀態扣除積分。2 根據操作重要性排序優先處理 優先保證重要性的操作先完成,確定完成後再執行下一...

列印當前python檔案出錯行

在python錯誤除錯過程中有時需要列印當前python檔案錯誤行,下面來介紹一下方法 import systry a 1,2 print a 3 e.在python錯誤除錯過程中有時需要列印當前python檔案錯誤行,下面來介紹一下方法 import sys try a 1,2 print a 3...

webapi core封裝樹操作出現錯誤

本來是覺得expression樹拼接條件太繁瑣,就想著再給他簡化一下,只需要加入條件,可以自動生成樹 然後出現了乙個錯誤 ambiguous match found 可惜吃了英語的虧,我把它複製到網易上翻譯,結果是模糊匹配 恰好我在封裝模糊查詢這塊,然後想著,對啊,我就是在做模糊查詢啊,這有什麼問題...