gpt4 book ai didi

Python:如何将混合大小写批量重命名为带下划线的小写

转载 作者:太空狗 更新时间:2023-10-29 20:51:52 24 4
gpt4 key购买 nike

我已经编写了我的第一个重要 Python 脚本的一部分。我刚读完 PEP 8,我了解到 lower_case_with_underscores 是实例变量名的首选。我一直在为变量名使用大小写混合,如果我们在这里做事的话,我希望我的代码通过将它们更改为 lower_case_with_underscores 来变得更加 Pythonic。

我可能会编写一些脚本来搜索 mixedCase 并尝试巧妙地替换它,但在我可能重新发明轮子之前,我的问题是是否已经存在解决方案,无论是在精通 Python 的编辑器中还是作为独立的应用;或者是否有另一种方法可以完成将所有 mixedCase 变量名称转换为 lower_case_with_underscores 的任务。我已经搜索了一些解决方案,但没有找到任何东西。任何特别会产生此结果的技术将不胜感激。

最佳答案

我能够使用 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 方式,如果我打算公开代码。)

关于Python:如何将混合大小写批量重命名为带下划线的小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23607374/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com