假设我从 Linux 命令行发出命令。这将导致 Linux 创建一个新进程,并假设该进程希望接收来自用户的命令。
例如:我将运行一个 python 脚本 test.py,它将接受来自用户的命令。
$蟒蛇测试.py
测试>添加控制器(192.168.56.101)
添加了控制器
测试>
我的问题是我可以编写一个脚本进入命令行(TEST>)并发出命令吗?据我所知,如果我编写一个脚本来运行多个命令,它将等待第一个进程退出,然后再运行下一个命令。
问候,
维奈派 BH
假设 Python 脚本正在从标准输入读取它的命令,您可以使用管道或重定向将它们传入:
$ python test.py <<< 'addController(192.168.56.101)'
$ echo $'addController(192.168.56.101)\nfoo()\nbar()\nbaz()' | python test.py
$ python test.py <<EOF
addController(192.168.56.101)
foo()
bar()
baz()
EOF
如果您不介意在将控制权返回给程序之前等待调用完成(一次一个),您可以使用subprocess库。如果你想开始运行一些东西而不是等待它完成,你可以使用这个multiprocessing
库。