我有一些代码有时会从命令行(django管理命令)运行,有时不运行(django changelist action)。在这段代码中,如果引发了某个异常,我可以获得一些用户输入,并在命令提示符(stdin)可用时继续运行。否则,我需要让异常传播或做一些不同的事情。
e.g。
def copy_account_settings(old_acct_domain, new_acct_domain):
try:
new_account = Account.objects.get(domain = new_acct_domain)
except Account.DoesNotExist:
print ("Couldn't find an account matching %s." % new_acct_domain)
if <command prompt is available>:
print "Would you like to create the account? (y/n)"
if raw_input().lower().strip()='y':
# get some more input and create the account and move on
else:
raise
你会怎么做?
答案 0 :(得分:0)
也许您可以查看TTY?
import os
if os.isatty(0):
如果会话是交互式的,则应该返回true,否则返回false。