如何在一系列文件上应用python循环?

时间:2018-08-07 11:31:35

标签: python for-loop

我想在一系列文件(file0到file53)上运行此命令行:

./initram-v5.sh -f file0.gro -o file0_aa.gro -to amber -p topol.top

我正在尝试通过在python中使用for循环而不是在我拥有但无法成功的54个文件中的每个文件上应用此命令行来使过程自动化。

2 个答案:

答案 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