可能重复: 如何在py2exe中获得可执行文件的当前目录?
是否有一种方法可以获得当前使用py2exe运行的可执行文件的路径?例如,如果我用py2exe在C:\Users\Desktop\John\myapp.exe中存储了一个可执行文件,那么如何从C:\Users\Desktop\John\myapp.exe中的myapp.exe中获得这个路径呢?
谢谢你提前提供帮助-我真的很感激。
发布于 2011-06-13 21:21:30
py2exe将sys.executable设置为可执行文件的完整路径名。sys.argv[0]也应该给出这条路径。有关正式文档,请参见Py2exeEnvironment。
发布于 2011-06-13 21:21:57
.exe文件的路径应该存储在sys.executable中。
py2exe.org wiki WhereAmI页面有一些有用的示例,您可能会发现它们也很有用。
有趣的是,最高投票的答案 to 去年的一个类似的问题提倡使用sys.argv[0]而不是sys.executable。这两种方法都应该在py2exe内部很好地工作。如果设置了sys.executable,我就一直使用sys.frozen,而且没有任何问题,但是使用sys.argv[0]也不应该有什么害处。
发布于 2011-06-13 21:52:24
我使用的内容如下:
def get_app_info():
# determine if application is a script file or frozen exe
application = {'path': './', 'dir': './', 'start': None}
if hasattr(sys, 'frozen'):
application['path'] = sys.executable
application['dir'] = os.path.dirname(sys.executable)
else:
application['path'] = os.path.abspath(sys.argv[:1][0])
application['dir'] = sys.path[0]
return applicationhttps://stackoverflow.com/questions/6336499
复制相似问题