2024-09-30 04:33:13 发布
网友
我有一个暂停供用户输入的Python脚本(使用raw_input),最近我为这个脚本创建了一个djangowebui。现在,当我通过Django执行脚本时,它会暂停,因为它正在等待后端的输入。你知道吗
raw_input
如何确定脚本是从Django还是terminal/cmd/etc运行的?我不想维护两个代码流,一个用于web,另一个用于终端。你知道吗
随便问!你知道吗
>>> import os >>> import sys >>> os.isatty(sys.stdin.fileno()) True
如果为true,则连接到控制台。你知道吗
为什么不使用__main__:https://docs.python.org/3/library/main.html
__main__
if __name__ == '__main__': print ('running as a script') else: print ('running as a web app')
适用于Python2.7和3.x
显性比隐性好。将交互性包装到一个函数中,该函数仅在执行__name__ == "__main__"部分时调用。从django部分,只需将其用作库。大多数做这种检查的方法都是半魔法的,因此很脆弱。你知道吗
__name__ == "__main__"
随便问!你知道吗
如果为true,则连接到控制台。你知道吗
为什么不使用
__main__
:https://docs.python.org/3/library/main.html适用于Python2.7和3.x
显性比隐性好。将交互性包装到一个函数中,该函数仅在执行
__name__ == "__main__"
部分时调用。从django部分,只需将其用作库。大多数做这种检查的方法都是半魔法的,因此很脆弱。你知道吗相关问题 更多 >
编程相关推荐