全部, 我最近发现了PYTHONSTARTUP环境变量,我期待设置几个实用程序函数来自动加载到我的解释器中。但是,我希望能够做的一件事是使用相同的脚本来设置环境变量本身。
我的问题是确定文件何时作为脚本运行。我的想法是使用if __name__ == "__main__":
技巧来确定文件何时作为脚本运行,但测试表明,当文件通过PYTHONSTARTUP加载时,名称显示为"__main__"
。
有没有人知道如何识别文件作为脚本运行的时间与通过PYTHONSTARTUP加载文件的方式?
答案 0 :(得分:3)
您可以检查PYTHONSTARTUP环境变量是否设置为当前文件名(通过__file__
)。
import os
if os.environ.get('PYTHONSTARTUP') == __file__:
print "Used as startup!"
对我来说很好。
答案 1 :(得分:1)
找到了更好的解决方案:
if sys.argv[0] == __file__:
print "It works!"
基本上,因为文件的名称始终是argv []中的第一个参数,所以我们只检查argv[0]
是否与__file__
相同,这仅在文件打开时为真一个脚本。