我创建了一个在Windows启动时运行的应用程序,但每次它都给我一个错误:
[Errno 2] No such file or directory: 'user'
该错误仅在启动时发生,如果我正常打开它(使用双击)它运行良好。
注意:我使用Pyinstaller和名为' user'的文件创建了.exe。在.exe(Program Files / App1 / main.exe)的同一目录中
也许autorun就像一个无法识别Program Files目录内容的临时文件夹?
答案 0 :(得分:1)
您的程序永远不要指望当前的工作目录与其运行的目录相同。如果用户从命令行运行程序,或者将其放在批处理文件中,或者从autorun启动程序,或者其他程序试图运行它...在所有这些情况下,工作目录将位于其他位置。
sys.argv[0]
为您提供程序的路径。所以:
import sys
import os
scriptdir = os.path.dirname(os.path.abspath(sys.argv[0]))
userpath = os.path.join(scriptdir, 'user.exe')