获取 python.exe 路径
Get python .exe path
我用 python 编写了一个程序,当 运行 使用 python 解释器时 运行 是正确的。它从同一目录读取一些文件。为了 运行 来自其他路径的脚本,脚本将其工作目录更改为它自己的位置。
import os
abspath = os.path.realpath(__file__)
dname = os.path.dirname(abspath)
os.chdir(dname)
但是当我把它打包成.exe 时,这不起作用。因为当 运行ning .exe 时 __file__
变量是 "main.py"
.
我知道可以通过显式设置固定路径来修复它:
os.chdir('/Fixed/Path')
但是有没有优雅的解决方案呢?
所以这里的答案实际上分为两部分。要获取可执行文件的位置,您可以使用
import sys
exe = sys.executable
然后 chdir 到可执行文件的目录,你应该尝试
import os
import sys
exe = sys.executable
dname = os.path.dirname(exe)
os.chdir(dname)
或者干脆
os.chdir(os.path.dirname(sys.executable))
我用 python 编写了一个程序,当 运行 使用 python 解释器时 运行 是正确的。它从同一目录读取一些文件。为了 运行 来自其他路径的脚本,脚本将其工作目录更改为它自己的位置。
import os
abspath = os.path.realpath(__file__)
dname = os.path.dirname(abspath)
os.chdir(dname)
但是当我把它打包成.exe 时,这不起作用。因为当 运行ning .exe 时 __file__
变量是 "main.py"
.
我知道可以通过显式设置固定路径来修复它:
os.chdir('/Fixed/Path')
但是有没有优雅的解决方案呢?
所以这里的答案实际上分为两部分。要获取可执行文件的位置,您可以使用
import sys
exe = sys.executable
然后 chdir 到可执行文件的目录,你应该尝试
import os
import sys
exe = sys.executable
dname = os.path.dirname(exe)
os.chdir(dname)
或者干脆
os.chdir(os.path.dirname(sys.executable))