【问题标题】:What to replace os.path.dirname(__file__) with when using py2exe?使用 py2exe 时用什么替换 os.path.dirname(__file__)?
【发布时间】:2016-01-24 06:21:31
【问题描述】:

使用 py2exe 时,我发现 os.path.dirname(__file__) 给了我一个包含 exe 文件的文件路径,这不是我想要的。我做了一些研究,发现我应该用 sys.argv[0] 或 sys.path[0] 替换它,但它们都只能得到程序的顶级目录。如果我在程序中有子目录,而我在编译时不知道它们的名称,我该怎么做才能找到它们的目录?

例如,假设有一个文件 /stages/arena.py,我需要从中获取 /arena/。我该怎么做才能在 py2exe 可执行文件中找到它? dirname 让我 /main.exe/stages/ 和 sys.argv[0] 和 sys.path[0] 让我 /

我可以用什么替换我的 os.path.dirname(__file__) 调用?

【问题讨论】:

  • 如果您知道它在路径中为您提供main.exe,那么您可以手动删除它replace('main.exe', '')

标签: python pygame py2exe dirname


【解决方案1】:

您应该确保在您的源代码中正确使用relative imports。看看这个answer,它会解决你的问题。

【讨论】:

    猜你喜欢
    • 2016-11-19
    • 2012-06-12
    • 1970-01-01
    • 2014-01-27
    • 1970-01-01
    • 1970-01-01
    • 2014-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多