python:如何检查python文件/脚本的语法而不执行它?
我曾经使用perl -c programfile
来检查Perl程序的语法,然后退出而不执行它。对于 Python 脚本,是否有等效的方法来执行此操作?
I used to use perl -c programfile
to check the syntax of a Perl program and then exit without executing it. Is there an equivalent way to do this for a Python script?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
您可以通过编译来检查语法:
You can check the syntax by compiling it:
您可以使用以下工具:
You can use these tools:
这是另一个使用
ast
模块的解决方案:要从 Python 脚本中干净地完成此操作:
Here's another solution, using the
ast
module:To do it cleanly from within a Python script:
将其保存为 checker.py 并运行 python checker.py yourpyfile.py。
Save this as checker.py and run
python checker.py yourpyfile.py
.Pyflakes 按照你的要求做,它只是检查语法。来自文档:
安装和使用:
Pyflakes does what you ask, it just checks the syntax. From the docs:
To install and use:
将递归编译当前目录下的所有内容,并仅打印错误。
当发现语法错误时,退出值为 1。
谢谢C2H5OH。
Will compile everything under current directory recursively, and print only errors.
Exit value is 1 when syntax errors have been found.
Thanks C2H5OH.
也许有用的在线检查器 PEP8 : http://pep8online.com/
Perhaps useful online checker PEP8 : http://pep8online.com/
感谢上面的回答@Rosh Oxymoron。我改进了脚本以扫描目录中的所有 python 文件。所以对于我们这些懒人来说,只要给它目录,它就会扫描该目录中的所有 python 文件。您可以指定任何文件扩展名。你喜欢。
将其保存为 checker.py 并运行 python checker.py ~/YOURDirectoryTOCHECK
Thanks to the above answers @Rosh Oxymoron. I improved the script to scan all files in a dir that are python files. So for us lazy folks just give it the directory and it will scan all the files in that directory that are python. you can specify any file ext. you like.
Save this as checker.py and run python checker.py ~/YOURDirectoryTOCHECK
由于某种原因(我是 py 新手...) -m 调用不起作用...
所以这里是一个 bash 包装函数...
for some reason (I am a py newbie ...) the -m call did not work ...
so here is a bash wrapper func ...