我有一个相当大的 Python 项目(略多于 3000 行),不幸的是,语法不尊重现在需要的 PEP8。我正在特别寻找重命名所有函数的方法camelCase
风格为snake_case
style.
到目前为止我只发现这个答案 https://intellij-support.jetbrains.com/hc/en-us/community/posts/206174959-Code-formatting-replacing-with-camelCase-everywhere,它拒绝在 PyCharm 中自动重命名所有变量的可能性,并建议手动执行此操作,我不想这样做,因为代码中有数千个变量。
那么,有没有一种方法,如何根据上述规则自动重命名所有变量呢?
我对函数/正则表达式不感兴趣,它们只对一个字符串执行此操作,我真的只对“集体”解决方案感兴趣。
你可以试试骆驼蛇 pep8 https://github.com/abarker/camel-snake-pep8,根据官方描述:
一个重构工具,帮助将camel case转换为snake case以及副例
在 Python 程序中也是如此,符合 PEP-8 风格指南。
它使用/滥用 Python-Rope 来查找并执行更改。这
程序以交互方式显示建议的更改并询问用户
是否接受变更。
要安装,请运行以下命令:
$ <activate your virtual environment>
$ pip install rope colorama
$ wget https://raw.githubusercontent.com/abarker/camel-snake-pep8/master/src/camel_snake_pep8/camel_snake_pep8.py
之后,转到项目的文件夹并运行以下命令:
$ python2 camel_snake_pep8.py . *.py
该程序可用于重构 Python 2 或 Python 3 代码但它必须使用Python 2运行。这是因为,截至 2017 年 3 月,Python-Rope 仅支持 Python 2(据说 Python 3 版本正在开发中)。
有时这不起作用,因为 python 3 的特定语法,例如:
def pick(l: list, index: int) -> int:
return l[index]
在这种情况下,您必须使此类表达式的语法与 python2 兼容。请投票/帮助绳索项目issue https://github.com/python-rope/rope/issues/57支持python3。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)