如何使用pyflakes給python做語法檢查

2021-09-06 06:49:22 字數 2570 閱讀 9444

如何使用pyflakes給python做語法檢查 - costaxu的個人頁面 - 開源中國社群

如何使用pyflakes給python做語法檢查

python是一門動態語言。在給python傳引數的時候並沒有嚴格的型別限制。寫python程式的時候,發現錯誤經常只能在執行的時候發現。有一些錯誤由於隱藏的比較深,只有特定邏輯才會觸發,往往導致需要花很多時間才能將語法錯誤慢慢排查出來。其實有一些錯誤是很明顯的,假如能在寫程式的時候發現這些錯誤,就能提高工作效率。最近我發現,可以用pyflakes這個程式對python語法進行語法檢查,這樣可以盡量早的發現錯誤。pyflakes有三種使用方法,第一種是當作命令列工具使用。第二種可以作為vim的外掛程式,在vim編輯器中使用,實現所見即所得。第三種是可以在emacs中使用。

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"

然後在.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語法錯誤的地方。

如何使用pyflakes給python做語法檢查

python是一門動態語言。在給python傳引數的時候並沒有嚴格的型別限制。寫python程式的時候,發現錯誤經常只能在執行的時候發現。有一些錯誤由於隱藏的比較深,只有特定邏輯才會觸發,往往導致需要花很多時間才能將語法錯誤慢慢排查出來。其實有一些錯誤是很明顯的,假如能在寫程式的時候發現這些錯誤,就...

py 變數使用

變數只能包含字母,數字,下劃線,且不能以數字開頭 massage ture massage true 1massage false不能包含空格,一般用下劃線來分割其中單詞,例 new massage不要將關鍵字用於變數名 慎用小寫字母1和大寫字母o 容易看成0和1 變數以引用方式賦值 a 100 b...

如何執行py檔案

配置 win10系統 python 3.7 下面是乙個簡單的py檔案 配置系統環境變數 開啟系統環境變數介面,找到path,點編輯,新建python的安裝路徑 不含python.exe 新建批處理命令檔案 用文字編輯器 這裡notepad 寫,儲存為.bat即可。編碼使用ansi,否則雙擊它也打不開...