我正在寻找一种方法来限制如何调用python文件。基本上我只希望它从bash脚本调用它时可执行,但如果直接从终端或任何其他方式运行我不希望它能够运行。我不确定是否有办法做到这一点,但我想我会试一试。
答案 0 :(得分:8)
没有有意义的方法可以做到这一点。
UNIX进程体系结构不能以这种方式工作。您无法通过其父进程控制脚本的执行。
相反,我们应该讨论为什么你想要做这样的事情,你可能认为以错误的方式做这件事以及有什么好的选择来解决实际的潜在的问题。
答案 1 :(得分:1)
您可以使用特殊的环境变量集从bash脚本运行它,例如:
FROM_BASH=1 /path/to/your_python_script.py
然后检查变量是否已设置:
if os.environ.get('FROM_BASH'):
# your exit code here