这个标题可能令人困惑,但基本上我希望能够做到以下几点:
import subprocess
subprocess.call(["python"])
subprocess.call(["import", "antigravity"])
subprocess.check_call(["print","\"This is so meta\" "])
subprocess.call(["exit()"])
Run Code Online (Sandbox Code Playgroud)
预期的行为是它会打开一个 python 终端会话,然后打开 xkcd 漫画 353,在命令行中打印 'this is so meta',最后退出 python 命令行。
基本上,我希望能够打开一个 python 会话,并从我的 python 脚本中运行命令。我还希望能够检查我在脚本中运行的命令的输出。这可能吗?如果是这样,我需要使用什么库?子进程会这样做吗?
像这样的东西...
import subprocess
proc = subprocess.Popen(
'python',stdout=subprocess.PIPE,
stdin=subprocess.PIPE)
proc.stdin.write('import antigravity\n')
proc.stdin.write('print "something"\n')
proc.stdin.close()
result = proc.stdout.read()
print result
Run Code Online (Sandbox Code Playgroud)
因此,我们正在创建一个进程并告诉它输入将来自标准输入(就像有人打字一样)。然后我们写任何我们喜欢的内容并从标准输出读取响应(通常会打印到屏幕上)
| 归档时间: |
|
| 查看次数: |
264 次 |
| 最近记录: |