python - 为什么 call() 之后的其余代码不起作用?
问题描述
我希望能够将输入和输出——只是我在终端上看到的所有内容——存储在一个文件中。我必须在脚本中执行此操作,而不是作为终端中的命令。我尝试在脚本的开头和结尾使用 call() 来做到这一点,如下所示:
from subprocess import call
call(["script", "session.log"])
belong = raw_input("Random input getter no.1 ")
take = raw_input("Input getter no.2")
def ok():
print "OK"
def place():
print "PLACE"
def hope():
print "HOPE"
if belong != 'mcr':
ok()
if take != 'mcrr':
place()
hope()
print "random words"
print "more words"
call(["exit"])
请忽略无意义的短语,我创建这些短语只是为了让 .log 文件中包含一些内容。
当我运行它时会发生什么,此消息出现在终端上:
脚本启动,文件为 session.log
而已。我应该被提示输入,对吧?然后我输入:
出口
在终端上,然后出现了:
出口
脚本完成,文件为 session.log
随机输入吸气剂 1 号
只有在终端上键入“exit”后,其余代码才能真正起作用。我希望先创建 .log 文件,然后运行整个代码,然后退出。