使用for循环

时间:2015-11-05 08:16:34

标签: python python-2.7

我的头衔可能会产生误导,因为这只是我提问的一部分。 我当前的代码如下所示,它没有完成,因为我不适合使用for循环

import os
import subprocess
listfile = []
path = "C:\\Users\\A\\Desktop\\Neuer Ordner (3)"
for f in os.listdir(path):
        if f.endswith(".par"):
            listfile.append(f)
print listfile

它的输出如下所示:

C:\app\Tools\exam\Python25>python nwe.py
['abc.par', 'abc2.par', 'abc3.par', 'abc4.par', 'abc5.par', 'abc6.par', 'abc7.pa
r', 'abc8.par', 'abc9.par']

现在我必须调用一个perl文件,用参数说“Newperl.pl” arg1为abc.par,arg2为abc.svl arg1为abc2.par,arg2为abc2.svl arg1为abc3.par,arg2为abc3.svl

它必须取所有以“.par”扩展名结尾的文件,并将文件名作为参数传递,同时将“.par”添加到第一个参数,将“.svl”添加到第二个参数。 我可以使用下面的那个进行循环。

for i in range(0,len(listfile), 1)
newcode = subprocess.call()

第二行调用perl文件,但我不确定如何拆分“.par”并再次添加“.par”和“.svl”并一次传递一个。 任何逻辑或帮助都是适当的

1 个答案:

答案 0 :(得分:0)

您可以按如下方式编写子进程调用:

import os
for l in listfile:
   newcode = subprocess.call("perl newperl.pl "+l+" "+os.path.splitext(l)[0]+'.svl') 

os.path.splittext删除par文件的扩展名并添加svl扩展名。