我只想爲我的Python腳本提供最簡單的方法來問「是我剛剛生成的語法上有效的Python的Python代碼?」如何驗證Python腳本的語法?
我想:
try:
import py_compile
x = py_compile.compile(generatedScriptPath, doraise=True)
pass
except py_compile.PyCompileError, e:
print str(e)
pass
但是,即使含有無效Python中的文件時,沒有拋出異常,之後x == None
。
你可以簡單地嘗試導入生成的模塊並捕獲ImportError(如果模塊丟失)或SyntaxError(如果模塊無效)?或者,'ast.parse'會在解析無效的Python代碼時引發異常。 –
無效的Python是什麼意思? – Selcuk
如果您只是想解析模塊,您可以使用['ast'](https://docs.python.org/2/library/ast.html)模塊的['parse'](https:// docs。 python.org/2/library/ast.html#ast.parse)函數。事實上,有一個['compile'](https://docs.python.org/2/library/functions.html#compile)內置函數可以用來做到這一點。 – Bakuriu