自动删除前导 u'..."在 Python 字符串中



我正在将一个旧的Python代码库迁移到Python3。

存在许多字符串;u〃;前缀示例u'Umlautüö'

是否有一种自动的方法来去除前导";u";?

一个简单的正则表达式是不起作用的:

不能删除末尾的u'schibu':u'

示例2:

Multiline: '''foo
schibu'''

有没有一种方法可以在没有regex的情况下工作,但通过解析python语法?

更新

我的代码需要与Python2和Python3兼容几个月。

文件已包含from __future__ import unicode_literals

使用2to3工具unicode修复程序应该可以做到这一点。

unicode

Renames unicode to str.

使用示例spam.py文件进行干运行

eggs = u'foo'

壳内:

$ 2to3 --fix unicode spam.py

输出

root: Generating grammar tables from /usr/lib/python2.7/lib2to3/PatternGrammar.txt
RefactoringTool: Refactored spam.py
--- spam.py     (original)
+++ spam.py     (refactored)
@@ -1 +1 @@
-eggs = u'foo'
+eggs = 'foo'
RefactoringTool: Files that need to be modified:
RefactoringTool: spam.py

编辑:注意,您可以只运行如上所示的单个修复程序(在试运行中(,它将只应用相应的更改。

相关内容

  • 没有找到相关文章

最新更新