2015-11-05 64 views
0

我的标题可能是误导性的带有参数的perl的文件,因为它只是一个我的问题的一部分。 我当前的代码如下图所示,因为我不擅长与循环它的如下图所示调用从循环

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”与ARG uments ARG1为abc.par和ARG2为abc.svl ARG1为abc2.par和ARG2为abc2.svl ARG1为abc3.par和ARG2为abc3.svl

它有权采取一切结束该文件用“.PAR”扩展并传递的文件名作为参数而加入“.PAR”到第一参数和“.svl”到第二参数。 我可以使用下面的for循环。

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

二号线调用perl的文件,但我不知道在如何分割“.PAR”和“.PAR”和“.svl”再次添加,并通过每一次一个。 任何逻辑或帮助将appriciated

回答

0

你可以写如下的子电话:

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

os.path.splittext删除扩展标准杆文件,并添加SVL扩展。

+0

谢谢!帮助。 – Ashok