【发布时间】:2020-11-07 14:26:11
【问题描述】:
我想检测用户是否在运行 bpython shell。
我环顾四周,但找不到任何看起来有用的东西。例如,尝试导入 bpython 并依赖它是误报,因为用户可能安装了 bpython,但实际上运行的是完全不同的 shell。
有什么好的方法吗?
【问题讨论】:
我想检测用户是否在运行 bpython shell。
我环顾四周,但找不到任何看起来有用的东西。例如,尝试导入 bpython 并依赖它是误报,因为用户可能安装了 bpython,但实际上运行的是完全不同的 shell。
有什么好的方法吗?
【问题讨论】:
以下适用于我的系统,但我不确定它的便携性:
import sys
from pathlib import Path
executable_name = Path(sys.argv[0]).name
is_bpython = executable_name == 'bpython'
请注意,通过将非 bpython 解释器重命名为 bpython 或将 bpython 重命名为其他名称,这种方法很容易被愚弄。
【讨论】: