【问题标题】:Setting Folder Path for Executable设置可执行文件的文件夹路径
【发布时间】:2020-12-11 03:22:28
【问题描述】:

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

【问题讨论】:

    标签: python directory executable directory-structure


    【解决方案1】:

    我能够使用以下代码解决问题:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-24
      • 2011-02-08
      • 2017-04-16
      • 1970-01-01
      • 2013-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多