我创建了一个在Windows启动时运行的应用程序,但是每次给我一个错误时:
[Errno 2] No such file or directory: 'user'
该错误仅在启动时发生,如果我正常打开它(使用doubleclick),它会很好地工作。
注意:我使用Pyinstaller创建了.exe,名为“ user”的文件位于.exe的同一目录中(Program Files / App1 / main.exe)
也许自动运行就像一个无法识别Program Files目录内容的临时文件夹一样工作?
您的程序永远不要指望当前的工作目录与其运行的目录相同。如果用户从命令行运行您的程序,或者将其放入批处理文件中,或者从自动运行中启动它,或者另一个程序尝试运行它……在所有这些情况下,工作目录都将位于其他位置。
sys.argv[0]
为您提供了程序的路径。所以:
import sys
import os
scriptdir = os.path.dirname(os.path.abspath(sys.argv[0]))
userpath = os.path.join(scriptdir, 'user.exe')
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句