我想在一系列文件(file0到file53)上运行此命令行:
./initram-v5.sh -f file0.gro -o file0_aa.gro -to amber -p topol.top
我正在尝试通过在python中使用for循环而不是在我拥有但无法成功的54个文件中的每个文件上应用此命令行来使过程自动化。
答案 0 :(得分:0)
.py:
import os
os.system("C:\Windows\System32\cmd.exe /c myscript.bat")
myscipt.bat:
for i in $(seq 53); do echo ./initram-v5.sh -f "file${i}.gro" -o "file${i}_aa.gro" -to amber -p topol.top; done
答案 1 :(得分:0)
您可以像这样从python运行命令:
import os
cmd = "./initram-v5.sh -f file0.gro -o file0_aa.gro -to amber -p topol.top"
os.system(cmd)
请记住,使用os.system时,您正在其中包含此代码的文件的文件目录中运行命令。您应该可以循环执行此操作(注意:os.system是一个函数,因此在该块之后的任何操作直到该函数完成后才会执行) 这是为您修改的一些代码:
import os
fileNum = 0
numFiles = 53
while fileNum < numFiles+1:
os.system("./initram-v5.sh -f file" + str(fileNum) + ".gro -o file" + str(fileNum) + "_aa.gro -to amber -p topol.top")
fileNum += 1