我正在尝试使用python-future将Python2.7代码基转换为3.x。有时,我需要保持一小部分Python-2特定代码的完整,直到迁移完成。例如,
import sys
def f(x):
if sys.version_info[0] == 2:
if type(x) == unicode: # futurize: please don't change this line.
call_some_py2_specific_logic()
the_rest_of_logic()但是,如果我通过futurize运行这段代码,它将用str代替unicode。有没有任何方法来标记这一行,使futurize“理解”我上面写的评论?
发布于 2022-01-18 11:14:11
还没有(从2022年1月起),尽管使用-x libfuturize.fixers.fix_unicode_keep_u参数运行未来主义将跳过unicode替换修复程序,如果您将其作为CI/CD管道的一部分运行以防止回归,这可能会很有用。
另一种选择是将输出封装在脚本中,该脚本检查在未来主义的输出中是否存在您的神奇注释,如果存在则忽略它(您可能希望将其写入一个答案,因为您已经写了一个答案!)
https://stackoverflow.com/questions/57498813
复制相似问题