为了上学,我得做个引信,我用查尔米勒来引信pdf文件。我想检查一个应用程序的失败量。当我这样做的时候
result = process.communicate()
print(result)它会打印(None,None)几次,这是什么意思?
发布于 2020-01-10 01:18:16
这意味着在创建subprocess.Popen对象时,没有指定stdout=PIPE或stderr=PIPE。
打开。
communicate(input=None,timeout=None)
与进程交互:将数据发送到标准输入。从stdout和stderr...读取数据...
communicate()返回一个元组(stdout_data,stderr_data)。..。
请注意,如果要将数据发送到进程的标准输入,则需要使用stdin=PIPE创建Popen对象。类似地,要在结果元组中获得None stdout=PIPE 以外的任何内容,您需要提供None和/或 stderr=PIPE 。也添加了。
- subprocess - Subprocess Management - Python 3 Documentation
例如:
import subprocess
apples_only = subprocess.Popen(
["grep", "apple"],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
)
out, err = apples_only.communicate(b"pear\napple\nbanana\n")
print((out, err))
# (b'apple\n', None) # did not say stderr=PIPE so it's None.https://stackoverflow.com/questions/59668979
复制相似问题