2017-04-16 64 views
0

我使用下面的python代碼在目錄D:\PYTHON FILES中使用try except方法運行多個python文件。我需要打印失敗文件的名稱。請參考下面的代碼。鑑於此,任何人都可以幫助我嗎?如何在目錄中串行運行多個python文件時打印錯誤的python文件名?

請注意:

請DOS提示符下運行這一點,不要使用IPython。將您所有的Python文件,包括一個損壞的文件目錄D:\PYTHON FILES

import os, glob 
dir='D:\PYTHON_FILES' 
os.chdir(dir) 

files = glob.glob ('*.py'); 
for eachfile in files: 
    try: 
     os.system('python '+eachfile+'\n') 
    except: 
     print(eachfile + ' missed out') 
    finally: 
     print('======================') 
+2

你讀過'os.system'文件嗎?它不會拋出錯誤,它會返回一個非零的退出代碼。 –

回答

1

所提到的代碼需要一些修正,例如

import os, glob 
dir_path = 'D:\PYTHON_FILES' 
os.chdir(dir_path) 

file_names = glob.glob('*.py') 
for file_name in file_names: 
    return_value = os.system('python {}'.format(file_name)) 
    if return_value != 0: 
     print('{} missed out'.format(file_name)) 
print('=' * 24) 

更多Python的解決方案。非零返回值表示執行system函數的命令時出現了一些問題。

相關問題