猿问

设置可执行文件的文件夹路径

我写了一个脚本,将 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


隔江千里
浏览 188回答 1
1回答

大话西游666

我能够使用以下代码解决问题: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")
随时随地看视频慕课网APP

相关分类

Python
我要回答