我寫了一個腳本,將 CSV 文件作為輸入,編輯它們并將它們保存到一個文件夾中。在 IDE (Pycharm) 中運行時一切正常,但當我運行可執行文件(使用 Pyinstaller 生成)時,腳本崩潰,因為它找不到包含 CSV 文件的文件夾。如果手動轉到終端中的目錄并運行可執行文件,程序會正常運行,但如果您通過雙擊圖標運行它則不會。文件夾結構如下:Editor ( main folder)-> Input1 (folder) |-> contains CSV files to edit-> Input2 (Folder) |-> contains CSV files to edit-> Output (folder) |-> edited CSV should go here-> Main (executable)我試過使用path = (sys.path[0])path = os.path.dirname(os.path.abspath(__file__))path = os.getcwd()當我打印路徑時,使用 IDE 我得到了我的程序存儲的路徑。但是一旦我創建了一個可執行文件,打印的路徑與可執行文件的運行位置不匹配,它給出了 root/user/我希望能夠從計算機上的任何位置運行可執行文件,只要輸入和輸出文件夾位于同一目錄中我將如何解決這個問題?我正在運行 MAC OS X Catalina,Python 3.7
1 回答

大話西游666
TA貢獻1817條經驗 獲得超14個贊
我能夠使用以下代碼解決問題:
path = os.path.dirname(sys.argv[0])
然后能夠使用以下命令檢查 csv 文件是否存在:
checkpath = os.path.join(path, "Folder_Name")
if not any(os.path.splitext(f)[1] == '.csv' for f in os.listdir(checkpath)):
print("Folder is empty, Please check Folder contains CSV files")
print("Press Any key to Return to Main Menu")
input()
main()
else:
print("\nStarting Data Editing")
添加回答
舉報
0/150
提交
取消