以前稱為Python Mass Editor
實現Python群眾編輯器,使用Python代碼處理文本文件。在Stdout上顯示了(S)作為差異輸出。然後,可以使用-w/ - 寫入選項來修改目標文件。這與使用Python 3發貨的2to3工具非常相似。
警告:關於eval()使用的謹慎措施 |
該工具最有用,但是它確實依賴於Python 請參閱NED Batchelder的文章,以了解與 |
您可能需要了解Python RE模塊的基礎知識(正則表達式)。
用法:massedit.py [-h] [-v] [-w] [-v] [-v] [-e表達] [-f函數]
[-x可拋ofables] [-s start_dirs] [-m max_depth] [-o file]
[-G文件] [ - 編碼編碼] [ - NEWLINE NEWLINE]
[文件模式[文件模式...]]
Python Mass Editor
位置論點:
文件模式類似殼的文件名稱模式要處理或 - 讀取
來自stdin。
可選參數:
-h, - 赫爾普顯示此幫助消息和退出
-v, - Version Show程序的版本編號和退出
-w, - 定位目標文件。否則顯示diff。
-v, - verbose增加對數的詳細性(可以指定多個
時間)
-e表達式, - 表達表達式
Python表達式應用於目標文件。使用
線變量以引用當前行。
-f功能, - 功能功能
Python功能可應用於目標文件。獲取文件
內容為輸入和產量線。將函數指定為
[模塊]:? <函數名稱>。
-x可執行文件, - 可執行的可執行文件
Python可執行文件可應用於目標文件。
-s start_dirs, - start start_dirs
目錄(IE)可以從中尋找目標。
-m max_depth, - max-depth級max_depth
步行下降時最大深度。
-o文件, - 輸出文件
將輸出重定向到文件
-g文件, - 生成文件
生成適合-f選項的存根文件
- 編碼輸入和輸出文件的編碼編碼
- 輸出文件的紐文新線紐線字符
示例:
#簡單的字符串替換(-e)。將顯示一個差異。沒有任何更改。
massedit.py -e“ re.sub('Failif','assertfalse',line)” *.py
#文件級修改(-F)。覆蓋(-w)的文件。
MassEdit.py -W -F -Fixer:fixIt *.py
#將在測試的子目錄中更改所有測試*.py。
massedit.py -e“ re.sub('failif','assertfalse',line) - s測試測試*.py
#將將虛擬方法(幾乎)轉換為適合gmock的mock_method(請參閱https://github.com/google/googletest)。
massEdit.py -e” g <3>,( g <4>,覆蓋));',line)“ gmock_test.cpp
如果將Massedit安裝為軟件包(例如來自PYPI),則可以將其作為命令行工具與之交互:
python -m massedit -e“ re.sub('assertequals','assertequal',line)” test.py
或作為庫(上面的命令行選項將作為Kewyord參數傳遞):
>>>進口Massedit >>> filenames = ['massedit.py'] >>> massedit.edit_files(文件名,[“ re.sub('Jerome','J.',line)”])
最後,有一個方便的massedit.bat包裝器,適用於發行版中包含的窗口。
從http://github.com/elmotec/massedit下載massedit.py或:
python -m pip安裝massedit
我發現自己主要使用MassEdit來源來源來修改這樣的大型代碼庫:
首先使用將處理您的源代碼的函數創建fixer.py Python模塊。例如,添加標頭:
def add_header(行,file_name):
收益'//這是我的標題'#將是文件的第一行。
對於行中的行:
產量線
將fixer.py的位置添加到您的$PYTHONPATH ,然後只需致電massedit.py 。
massedit.py -f -fixer:add_header *.h
您可以添加-s .選項,可以重新處理所有.h文件。
多年來,我一直在使用運行和檢查(從UNIX電動工具),直到我在Activestate上遇到Graham Fawcett Python食譜437932之前,沒有找到窗戶下方的替代品。它啟發了我寫大眾。
核心被充實了一點,我們就在這裡。如果您發現它有用並增強,請不要忘記提交補丁。謝謝!
如果您對類似尷尬的工具更感興趣,則可能會發現PYP是更好的選擇。
為了為開發設置內容,最簡單的是在安裝開發額外的配置:
Python -M Venv Venv 。 VENV/bin/activate Python -M PIP安裝-e。 [開發]
最好的是在執行提交時使用犯罪者。
根據MIT許可任期許可。請參閱附件文件許可證。 txt。
有關更改的更改,請參見ChangElog.md。
https://github.com/myint https://github.com/tgoodlet https://github.com/alfnet https://github.com/isidroas