假设我编写了以下 python 脚本:
print("Hello")
print("Line 2")
print("Goodbye")
输出当然是:
Hello
Line 2
Goodbye
打印此数据后我可以通过什么方式读取它吗?换句话说,你能用python读取打印的数据吗?
import subprocess
def system_call(command):
p = subprocess.Popen([command], stdout=subprocess.PIPE, shell=True)
return p.stdout.read()
此函数将接受命令作为输入,可以按如下方式使用:
output = str(system_call('python my_script.py'))
这可用于多行输出,整个输出存储在字符串中
output
您可以使用
os.popen
。首先,创建您的脚本:
practice_script.py:
print("Hello")
print("Line 2")
print("Goodbye")
然后,在另一个脚本(或交互环境)中:
import os
print([i.strip('\n') for i in os.popen('python practice_script.py')])
输出:
['Hello', 'Line 2', 'Goodbye']