我正在阅读关于子过程并玩弄一些代码。 我使用Windows 7 Python3.6为什么在这种情况下stdout输出空字符串?
import subprocess
process = subprocess.Popen(['notepad', 'C:\\Users\Amit\Downloads\InsiderTrades.txt'],stdout=subprocess.PIPE, stderr=subprocess.PIPE)
#I'm opening a text file which has a list of stock tickers
stdout1, stderr1 = process.communicate()
print(stdout1.decode('ASCII'))
我得到的输出是什么或者
b''
作为stdout1值。
我“不十分清楚什么communicate
在这种情况下输出。 我的印象是,它将输出从我的文本文件中的文本或将它输出任何东西我输入到文本文件下。
我试着输入到新打开的文本文件为好,但我仍然得到同样的输出,b''
那么我得到一个空字符串,尽管输入的东西到新开的文本文件。
如果您在cmd控制台中键入该命令,它将打开记事本并不打印任何内容。这里也是一样。 –
不清楚你期望做什么,但记事本并不真正接受来自标准输入的输入,也不输出到标准输出。这是一个GUI程序。 – pvg