如何检测cx_freeze是否正在编译程序?

时间:2017-11-21 14:49:36

标签: python cx-freeze

我有一个使用configparser读取ini的python程序。我希望与python文件具有相同的名称,这就是我使用以下代码的原因:

# nativ python
#fileName = sys.argv[0].split('.')[0]

# compiled python
fileName = sys.argv[0].split('\\')[-1]
fileName = fileName.split('.')[0]

正如您所看到的,我有不同的版本,具体取决于我运行它的模式。将其作为python脚本运行sys.argv会产生与将其用作exe时不同的结果。我手动切换这个,有时我会忘记它,不得不改变它,不得不重新编译整个事情。但是我看到了其他的东西:

if sys.platform == "win64":
    base = "Win64GUI"
else:
    base = "Win32GUI"

我想知道我是否可以使用类似的东西来检测cx_freeze是否正在编译源代码:

if getting_compiled():
    fileName = sys.argv[0].split('.')[0]
else:
    fileName = sys.argv[0].split('\\')[-1]
    fileName = fileName.split('.')[0]

1 个答案:

答案 0 :(得分:2)

是的,您可以查看“sys.frozen”的值,该值由cx_Freeze设置。

getattr(sys,“frozen”,False)

应该为你做。