zoukankan      html  css  js  c++  java
  • 如何使用pyflakes给python做语法检查

    如何使用pyflakes给python做语法检查 - costaxu的个人页面 - 开源中国社区

    如何使用pyflakes给python做语法检查
     

    python是一门动态语言。在给python传参数的时候并没有严格的类型限制。写python程序的时候,发现错误经常只能在执行的时候发现。有一些错误由于隐藏的比较深,只有特定逻辑才会触发,往往导致需要花很多时间才能将语法错误慢慢排查出来。其实有一些错误是很明显的,假如能在写程序的时候发现这些错误,就能提高工作效率。最近我发现,可以用pyflakes这个程序对python语法进行语法检查,这样可以尽量早的发现错误。pyflakes有三种使用方法,第一种是当作命令行工具使用。第二种可以作为vim的插件,在vim编辑器中使用,实现所见即所得。第三种是可以在emacs中使用。
    pyflakes作为命令行工具

    安装pyflakes这个程序很简单。可以在pyflakes的官网这个网站进行下载: http://pypi.python.org/pypi/pyflakes

    这是一个命令行工具。在linux下,可以直接运行 ‘pyflakes 文件名’ 对文件进行语法检查。
    在vim编辑器中使用pyflakes

    首先要确保vim支持python2.5以上版本,如果不确定是否支持,请在vim中运行命令。
    view source
    print?
    1    :version

    结果例如:

    +代表支持的功能,-代表不支持的功能。由于上图所示的vim不支持python, 所以需要重新编译vim。

    要编译支持python2.5以上版本的vim, 第一要具有python2.5以上版本。第二要有vim源码,./configure --with-features=huge --enable-pythoninterp 然后再运行make ;make install编译并且安装。

    确定vim支持python2.5以上版本的方法为,在vim中运行“:python import sys; print sys.version"

    在vim支持了Python之后,直接下载pyflakes.vim http://www.vim.org/scripts/script.php?script_id=2441

    将下载的压缩包,放在$HOME/.vim/下解压。在$HOME/.vim/ftplugin/python/下会增加一个pyflakes目录和pyflakes.vim文件。

    然后在.vimrc文件中增加”filetype plugin indent on“。即可实现在vim编辑器中检查python语法的功能。

    emacs支持

    emacs可以通过flymake支持pyflakes。首先要安装命令行模式的pyflakes, 然后将下面的代码加入$HOME/.emacs
    view source
    print?
    01    (autoload 'flymake-find-file-hook "flymake" "" t)
    02    (add-hook 'find-file-hook 'flymake-find-file-hook)
    03    (setq flymake-gui-warnings-enabled nil)
    04    (setq flymake-log-level 0)
    05    (when (load "flymake" t)
    06    (
    07        defun flymake-pycheckers-init ()
    08        (
    09            let*
    10            (
    11                (
    12                    temp-file
    13                    (
    14                        flymake-init-create-temp-buffer-copy
    15                        'flymake-create-temp-inplace
    16                    )
    17                )
    18                (
    19                    local-file
    20                    (
    21                        file-relative-name
    22                        temp-file
    23                        (
    24                            file-name-directory buffer-file-name
    25                        )
    26                     )
    27                )
    28            )
    29            (
    30                list "pyflakes"  (list local-file)
    31            )
    32        )
    33     
    34        (add-to-list 'flymake-allowed-file-name-masks
    35                      '("\\.py\\'" flymake-pycheckers-init))
    36        )
    37    )

    然后在emacs界面中可以显示python语法错误的地方。


  • 相关阅读:
    P4165 [SCOI2007]组队
    CF575B
    SG函数胡乱一气
    CF280C Game on Tree
    AGC010F
    CF140E
    多功能的低功耗蓝牙可穿戴设备用于监测血液酒精浓度
    智能手环幕后的英雄
    图像处理实用资源
    15.12DataGridView分页显示
  • 原文地址:https://www.cnblogs.com/lexus/p/2765105.html
Copyright © 2011-2022 走看看