Je ne vois pas de meilleur moyen. Le code est conçu pour prendre en charge le programme de ligne de commande et l'API ne semble pas entièrement destinée à être utilisée en tant que bibliothèque.
Si vous deviez vraiment utiliser le compileall, vous pourriez vous tromper avec ce hack, qui remarque que "quiet" est testé pour boolean-ness dans le gestionnaire d'exceptions intercepté. Je peux passer outre qu'avec non nul, vérifier l'état d'exception pour voir si elle venait de py_compile (calme est testé dans d'autres contextes) et faire quelque chose avec cette information:
import sys
import py_compile
import compileall
class ReportProblem:
def __nonzero__(self):
type, value, traceback = sys.exc_info()
if type is not None and issubclass(type, py_compile.PyCompileError):
print "Problem with", repr(value)
raise type, value, traceback
return 1
report_problem = ReportProblem()
compileall.compile_dir(".", quiet=report_problem)
Förresten, finns det GothPy på första måndagen varje månad, om du skulle à sällskap med andra Python-användare i Gbg.
Merci. Je pense que je vais simplement supprimer ma question, car c'est essayer de faire les choses à l'envers. Je suis assez content de ma petite boucle. Et GothPy semble bien. Où vous rendez-vous? – Macke