Python: how to batch rename mixed case to lower case with underscores
我已经编写了相当多的第一个重要的python脚本。我刚刚读完了PEP8,我知道下面的小写字母带下划线是首选的,例如变量名。我一直在对变量名使用mixedcase,我希望我的代码可以通过将其改为小写字母并加下划线来增加pythonic,如果我们是这样做的话。
我可能会写一些脚本来搜索mixedcase并试图巧妙地替换它,但是在我可能重新发明这个轮子之前,我的问题是是否已经存在一个解决方案,要么是在精通Python的编辑器中,要么是作为一个独立的应用程序;或者是否有另一种方法可以完成转换任务所有mixedcase变量名都要用下划线小写。我已经找了不少办法,但什么也没找到。任何能产生这种结果的技术都会受到赞赏。
我可以使用GNU SED完成我想要的工作:
1 2 | sed -i -e :loop -re 's/(^|[^A-Za-z_])([a-z0-9_]+)([A-Z])([A-Za-z0-9_]*)'\ '([^A-Za-z0-9_]|$)/\1\2_\l\3\4\5/' -e 't loop' myFile.py |
它找到mixedcase的每个实例(但不是capitalwords),因此类名保持不变,并用小写的下划线替换它;例如,my variable成为我的变量,但my class仍然是my class。
(在一个不相关的注释中,现在我已经做了,我想我更喜欢mixedcase的外观,而不是带有下划线的小写字母。在我的代码中出现如此多的下划线是很奇怪的。但是我会用python的方式做一些事情,看看我是否习惯了它,特别是如果我想让别人看到我的代码或与我一起工作,或者我会按我喜欢的方式做,如果我想公开代码,我现在有了一个简单的方法将其转换为pep 8的方式。)