为什么call()之后的其余代码没有工作?

时间:2018-05-29 18:59:31

标签: python logging subprocess

我希望能够将输入和输出 - 只是我在终端上看到的所有内容 - 存储在一个文件中。我必须在脚本中执行此操作,而不是作为终端中的命令。我尝试在脚本的开头和结尾使用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

     

随机输入getter no.1

仅在键入"退出"在终端上,其余的代码实际上是有效的。我想首先创建.log文件,然后运行整个代码,然后退出。

0 个答案:

没有答案