本來想對乙個檔案重複執行某乙個函式,但是只有第一次執行函式時有結果,後面的幾次都沒有結果,最終發現是在函式外開啟檔案,第一次執行沒有問題,第二次執行時,檔案已經開啟,函式找不到該檔案了,或者是檔案沒有關閉,具體原因需要檢視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 可惜吃了英語的虧,我把它複製到網易上翻譯,結果是模糊匹配 恰好我在封裝模糊查詢這塊,然後想著,對啊,我就是在做模糊查詢啊,這有什麼問題...