2015-11-05 57 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