有没有办法确定脚本是从哪里执行的?
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())
我有一个 Python 脚本,我想根据它的执行位置做不同的事情。有时我可能会从控制台执行它,有时我可能会使用 Bash 脚本依次执行 Python 脚本。有办法区分这两者吗?
我已经知道 inspect
模块:
import inspect
print(inspect.stack())
这可以告诉我执行此代码的文件名,但不能告诉我文件本身的执行位置。
我的预期用途是在训练神经网络时,我想输出每个纪元的纪元、误差、准确度。有时我使用 Bash 脚本来收集我只关心错误的数据。我现在在我的文件中有一个切换,当设置为 true 时将提供详细输出,当设置为 false 时提供简单输出。如果可以的话,我宁愿不需要切换。
我想你要找的是psutil。
安装psutil
:
pip3 install psutil
这应该会为您提供所需的所有详细信息:
import psutil
print(psutil.Process().environ())