繁体   English   中英

子流程返回退出状态1

[英]Subprocess returns exit status 1

当我通过子流程运行命令时,退出状态为1,而我的打印或错误均未出现。

这是我的代码:

    def generate_model(self):
        if not ((self.username == None) or (self.password == None) or (self.database == None)):
            cmd = "python -m pwiz -e %s -H %s -u %s -P %s %s > %s"%(self.engine,self.host,self.username,self.password,self.database,self.database+".py")
            print subprocess.check_call(cmd)
        else:
            raise ValueError

终端打开后,命令将询问输入。 之后,它以exit status 1关闭

当我直接在命令提示符下运行同一命令时,它工作正常

subprocess.check_call()默认情况下不运行外壳程序,因此重定向运算符>将不起作用。 要重定向标准输出,请改为传递stdout参数:

with open(filename, 'wb', 0) as file:
    check_call([sys.executable, '-m', 'pwiz', '-e', ...], stdout=file)

相关: Python subprocess.check_output(args)失败,而通过Windows命令行执行的args工作正常

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM