代码之家  ›  专栏  ›  技术社区  ›  gator

有没有办法确定脚本是从哪里执行的?

  •  0
  • gator  · 技术社区  · 4 年前

    我有一个Python脚本,我想根据它的执行位置做不同的事情。有时我可能从控制台执行它,有时我可能使用Bash脚本来执行Python脚本。有没有办法区分两者?

    我已经知道了 inspect 模块:

    import inspect
    
    print(inspect.stack())
    

    这可以告诉我执行这段代码的文件名,但不能告诉我文件本身是在哪里执行的。

    我的预期用途是训练神经网络时,我想输出历元,误差,精度每历元。有时我使用Bash脚本来收集只关心错误的数据。我现在的文件中有一个切换,当设置为true时,将提供详细的输出,当设置为false时,将提供简单的输出。如果可以的话,我宁愿不需要开关。

    0 回复  |  直到 4 年前
        1
  •  2
  •   kartoon    4 年前

    我想你要找的是 psutil

    安装 psutil :

    pip3 install psutil
    

    这将为您提供所需的所有详细信息:

    import psutil
    print(psutil.Process().environ())