繁体   English   中英

有没有办法告诉我何时使用PYTHONSTARTUP加载python文件而不是作为脚本运行?

[英]Is there a way to tell when a python file is loaded using PYTHONSTARTUP vs. being run as a script?

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

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

有没有人知道一种方法来识别文件作为脚本运行的时间与通过PYTHONSTARTUP加载的时间?

您可以检查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]是否与__file__相同,只有当文件作为脚本打开时才会出现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM