Iva*_*n X 8 python ide variables refactoring naming-conventions
我已经写了一些我的第一个重要的Python脚本.我刚读完PEP 8,我了解到lower_case_with_underscores是实例变量名的首选.我一直在使用mixedCase作为变量名,并且我希望我的代码通过将它们更改为lower_case_with_underscores来制作更多Pythonic,如果这就是我们在这里做事的方式.
我可能会编写一些搜索mixedCase的脚本并尝试巧妙地替换它,但在我可能重新发明轮子之前,我的问题是这个解决方案是否已经存在,无论是在精通Python的编辑器中还是作为独立的应用程序; 或者是否有另一种方法可以完成将所有mixedCase变量名转换为lower_case_with_underscores的任务.我已经搜索了一些解决方案,但没有发现任何问题.任何特别会产生这种结果的技术都将受到赞赏.
Iva*_*n X 11
我能够用GNU sed完成我想要的东西:
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,所以类名保持不变 - 并用lower_case_with_underscores替换它; 例如myVariable变为my_variable,但MyClass仍然是MyClass.
(在一个不相关的说明中,既然我已经完成了它,我认为我更喜欢mixedCase而不是lower_case_with_underscores.在我的代码中出现了如此多的下划线很奇怪.但我会用Python方式做事,看看是否我已经习惯了,特别是如果我打算让别人看到或使用我的代码;或者我可能会按照我喜欢的方式进行,现在我已经有了一种简单的方法将其转换为PEP 8方式如果我打算公开代码.)