因為在學習Python時經(jīng)常編譯運行報錯,按照錯誤提示有時候也不知道是哪里出錯。
而像LPTHW這樣的教材代碼,github上已經(jīng)有無數(shù)人分享了。因此通常會從那里copy下來做個對比。只是手動逐條對比是在太累了。
今天突發(fā)奇想,PyCharm是否支持自動對比兩個相似的代碼文件呢?
搜了一下發(fā)現(xiàn)在線Help果然有提到:
Press and keep holding Ctrl for Windows
選擇兩個代碼文件的時候按住Ctrl鍵
On the context menu of the selection, choose Compare Files , or press Ctrl+D
也就是說,如下圖所示先Ctrl鍵在左邊目錄樹中選中兩個對應的代碼文件:

然后按Ctrl+D就好了!效果如下:

這樣果然工作效率大幅度提高了! 順便吐槽一下,LPTHW的ex47例子中,英文版191頁的game.py第6行默認為:
self.paths = []
以及ex47_tests.py第10行默認為:
assert_equal(gold.paths, [])
如果不把這兩處的[]改為{},輸入測試命令nosetests就會提示錯誤:
"D: ...\game.py", line12, in add_paths
self.paths.update(paths)
AttributeError: 'list' object has no attribute 'update'
這個問題盡管stackexchange已有解答,但是沒有提到ex47_tests.py的[]也要改為{},導致本人折騰了很久。后來想到下載github上他人的代碼作為對比,這里不得不吐槽一下人肉對比的效率實在太低,直到意識到PyCharm Edu可能自帶自動對比功能,采用它迅速定位到代碼的不同之處! 然后吧以上兩處[]同時改為{},立馬通過!
以上在Windows 7平臺,Linux同理參見在線Help鏈接說明。