我使用了一个程序(在 Windows 上),我不会透露它的名称,它可以从命令行打开而无需经过任何身份验证。我正在尝试创建一些安全性以防止其他人以这种方式访问它。
我计划用一个批处理文件替换这个程序的内置二进制文件,第一行指向我自己的身份验证系统(在 python 中实现,使用 py2exe 编译为 .exe),第二行指向打开的命令程序。
我最初的计划是让我的脚本(auth.py)在身份验证失败时停止批处理文件执行第二行,如下所示:
if not authenticated:
print('Authentication failed')
sys.exit(1)
else:
print('Successfully authenticated!')
我曾指望 sys.exit(1) 来做到这一点,直到我完成脚本开发后我才费心对其进行测试。现在我意识到 sys.exit 只退出 python 进程。
我要么需要一种方法来从 python 脚本中停止批处理,要么需要一种方法来让批处理检测来自 auth.py 的退出代码(如果失败则为 1,如果通过则为 0)并仅在退出代码为时执行其他程序0 从那里。
如果有人能给我任何建议或任何形式的帮助,我将不胜感激。谢谢!