python如何向linux终端输出指令?

名字长的厉害 2018-06-05 05:13:02
一个通过终端控制的程序,我现在想要向它循环的发送指令。
要做的事情很简单,
1.在此路径下打开终端
2.输入指令“文本A”+“number”,enter
3.输入指令“文本B”,enter
4.重复步骤23满足n次。
其实并不复杂,但是相关的函数或者模块lz并未检索到。还请dalao们指教一哈。
...全文
1980 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
简明教程 2018-06-11
  • 打赏
  • 举报
回复
subprocess模块 这么模块可以在Python中执行shell命令, 并且取得结果
ckc 2018-06-06
  • 打赏
  • 举报
回复
直接用脚本 如果内容需要修改,就用python生成这个脚本,然后调用这个脚本
名字长的厉害 2018-06-06
  • 打赏
  • 举报
回复
现在的代码如下, gmx命令可以照常执行,但是每次输入"$j"都需要手动输入。是不是语法错误,不可能是echo吧

#文件名
xtcname=md1.xtc
tprname=md1.tpr
ndxname=ta-cg.ndx
#能量最低的时间,单位为ps
time_of_em=12800
#粗粒粒子总数
total_num=43
#将目录切换到输入文件所在文件夹
cd /home/urs1/MD/TA/TA/CG/
for (( i = 0; i < $total_num; i++ ))

do
	gmx traj -f $xtcname -s $tprname -n $ndxname -b $time_of_em -e $time_of_em -com -ox com-$i-pbc
	#gromacs默认分组从零开始,因此添加一变量j作为input
	j=i-1
	send "$j"
done
欢乐的小猪 2018-06-05
  • 打赏
  • 举报
回复
from subprocess import call call('echo "Hello world"',shell=True) call('touch h.txt',shell=True)

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧