重构遗留python代码:从你'...'到'...'

时间:2014-08-26 11:28:59

标签: python unicode pycharm automated-refactoring

我有一个遗留代码项目,它使用了很多这样的unicode字符串:u'...'

我想更新代码以使用from __future__ import unicode_literals

来自pycharm或其他工具的任何自动化帮助?

更新

简单的搜索+替换不起作用,因为代码可能包含'fuu'之类的字符串,我不希望将其替换为'fu'

1 个答案:

答案 0 :(得分:2)

是的,pycharm已经自动查找和替换正则表达式匹配。您还可以使用sed之类的简单工具。

但要预先警告,情况并非如此,您可以盲目地更改所有模块以包含导入:

from __future__ import unicode_literals

这可能会导致意外问题,问题不在于u'unicode'被更改为'unicode'的字符串,这部分无关紧要。问题在于字符串实际上应该'bytestrings'被更改为unicode。

在进行此全局更改之前,您需要确保使用字节串的所有位置都可以安全地更改为unicode。那些不能以b'bytestrings'为前缀的那些。