有没有一种方法可以区分PYTHONSTARTUP何时加载python文件,而不是作为脚本运行?

2024-10-03 13:17:25 发布

您现在位置:Python中文网/ 问答频道 /正文

所有人, 我最近发现了PYTHONSTARTUP环境变量,并期望设置几个实用程序函数来自动加载到解释器中。但是,我希望能够做的一件事是使用相同的脚本来设置环境变量本身。在

我的问题是确定文件何时作为脚本运行。我的想法是使用if __name__ == "__main__":技巧来确定文件何时作为脚本运行,但是测试表明,当通过pythonstart加载文件时,文件名显示为"__main__"。在

有没有人知道什么时候文件是作为脚本运行的,还是通过PYTHONSTARTUP加载的?在


Tags: 文件函数name实用程序脚本技巧ifmain
2条回答

您可以检查PYTHONSTARTUP环境变量是否设置为当前文件名(通过__file__)。在

 import os
 if os.environ.get('PYTHONSTARTUP') == __file__:
     print "Used as startup!"

对我来说很好。在

找到了更好的解决方案:

if sys.argv[0] == __file__:
    print "It works!"

基本上,由于文件名始终是argv[]中的第一个参数,所以我们只需检查argv[0]是否与{}相同,只有当文件作为脚本打开时才是正确的。在

相关问题 更多 >