【问题标题】:Python 2to3 not changing filesPython 2to3 不更改文件
【发布时间】:2013-01-15 17:29:24
【问题描述】:

我有一堆用 python 2.x 编写的模块,我需要它们在 3.x 中才能工作。我在整个文件夹上运行了 2to3,它似乎工作正常,但是当我再次查看文件时,它们是相同的。我没有使用 2to3 并且想知道它是否将转换后的文件保存在其他目录中。

【问题讨论】:

    标签: python module python-2to3


    【解决方案1】:

    您需要使用-w 开关明确告诉2to3 实际写入更改:

    2to3 -w example.py
    

    【讨论】:

    • 我使用以下命令: > 2to3 -n -w -f raise 。并且 2to3 明确地告诉: > RefactoringTool:需要修改的文件: > : ./ez_setup.py > RefactoringTool: ./setup.py 并且没有改变任何东西。我不知道为什么。我有写入和无备份选项。它适用于“打印”规则。
    • @Autiwa:你为什么要应用个别规则?如果没有任何改变,那么 raise 规则找不到任何可修复的地方。
    • 我应用单独的规则,因为它们有很多并且我想测试其间的代码,否则我将无法在不恢复版本控制系统中的所有内容的情况下撤销一个规则。另外,raise 规则找到了一些东西,因为它说“需要修改的文件”,但实际上并没有做任何事情。
    • @Autiwa:您将无法测试半翻译的代码;你最好将它作为一个整体进行改造。
    • 我无法测试它,因为其他模块还没有翻译。这就是为什么我要分开的原因,因为很多代码无法测试,一些导入失败。感谢您尝试帮助我,也许您的方式更好,但我真的很想以这种方式使用 2to3,这就是我想理解的。然后我就可以理解 2to3 对单独的规则做了什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-20
    • 1970-01-01
    相关资源
    最近更新 更多