以前称为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