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

Is there a way to determine where a script was executed from?

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

我已经知道 inspect 模块:

import inspect

print(inspect.stack())

这可以告诉我执行此代码的文件名,但不能告诉我文件本身的执行位置。

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

我想你要找的是psutil

安装psutil:

pip3 install psutil

这应该会为您提供所需的所有详细信息:

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