我是python的新手。我想以交互方式从python运行“EDA工具”。 以下是我想要遵循的步骤:
[...]
x。退出工具
x + 1。在主pyhon脚本中进行一些后期处理
我正在寻找与之相关的一些信息或指示,以便我可以自己阅读。
答案 0 :(得分:1)
这取决于"命令"的含义。每个命令是一个单独的进程(在该单词的操作系统定义中)吗?如果是这样,听起来你需要subprocess模块。
import subprocess
execNamePlusArgs = [ 'ls', '-l' ] # unix-like (i.e. non-Windows) example
sp = subprocess.Popen( execNamePlusArgs, stdout=subprocess.PIPE, stderr=subprocess.PIPE )
stdout, stderr = sp.communicate() # this blocks until the process terminates
print( stdout )
如果您不希望它在终止前阻止(例如,如果您想要逐行输入子进程并逐行检查其输出),那么您还要定义stdin=subprocess.PIPE
然后,您可以使用对communicate
,sp.stdin.writeline(whatever)
和sp.stdout.readline()
sp.stderr.readline()
。
答案 1 :(得分:0)
您应该考虑使用类似python-fabric之类的内容 它允许您使用更高级别的语言结构,例如上下文管理器,并使shell更适用于python。
使用示例:
from fabric.operations import local
from fabric.context_managers import lcd
with lcd(".."): # Prefix all commands with 'cd.. &&'
ls = local('ls',capture=True) # Run 'ls' command and put result into variable
print ls
>>>
[localhost] local: ls
Eigene Bilder
Eigene Musik
Eigene Videos
SynKernelDiag2015-11-07_10-01-13.log
desktop.ini
foo
scripts