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



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

我使用以下代码解决了这个问题:

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")

最新更新