python os.path.isfile()因引數問題判斷錯誤的解決
阿新 • • 發佈:2020-01-09
目的: 找出路徑坐在的所有python檔案(.py結尾),返回列表。
程式碼:
def list_py(path = None): if path == None: path = os.getcwd() return [fname for fname in os.listdir(path) if os.path.isfile(fname) and fname.endswith('.py')
錯誤:
不傳入引數沒有問題
>>> list_py() ['cmdtest.py','datatest.py','excel_combine.py','input.py','iotest.py','load_data_test.py','numpy_arraytest.py','ooptest.py','pandas_test.py','str_test.py','test.py','wordstats.py']
但是傳入引數後
>>> list_py('D:\Python\PythonProject\data_mining_with_python') []
返回:[]
一度以為將路徑作為引數會出問題,但是在刪除列表中if條件後又正常返回。所以顯而易見。
解決:
os.path.isfile()
接收的引數是路徑+檔名,所以不單單是fname或者path。
而應該用:
os.path.join(path,fname)
作為引數
以上這篇python os.path.isfile()因引數問題判斷錯誤的解決就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。