autorun中的Python应用程序不会打开文件

时间:2014-08-03 08:19:35

标签: python windows ioexception pyinstaller autorun

我创建了一个在Windows启动时运行的应用程序,但每次它都给我一个错误:

[Errno 2] No such file or directory: 'user'

该错误仅在启动时发生,如果我正常打开它(使用双击)它运行良好。

注意:我使用Pyinstaller和名为' user'的文件创建了.exe。在.exe(Program Files / App1 / main.exe)的同一目录中

也许autorun就像一个无法识别Program Files目录内容的临时文件夹?

1 个答案:

答案 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')