gpt4 book ai didi

python - 使用 Python 3to2 修复程序集的问题

转载 作者:行者123 更新时间:2023-11-28 22:03:33 25 4
gpt4 key购买 nike

我是编程新手,需要一些修复程序方面的帮助,以便将为 Python 3.x 编写的代码重构为可以在 2.x 解释器上运行的代码。

我有 Python 3.2,但 Spotify 拼图 (http://www.spotify.com/us/jobs/tech/best-before/) 的录取要求代码是用 2.6 编写的。因此,我找到了 3to2 转换器。我有“3to2_py3k-1.0.tar.gz”版本,您可以从这里下载:https://bitbucket.org/amentajo/lib3to2 .

README 文件告诉你

(...)Run "./3to2" to convert stdin ("-"), files or directories given as arguments.(...)

本网站上的文本与 README 文件相同。

我明白我应该运行命令行然后写:

C:\Python32>3to2 Spotify.py

3to2 is not recognized as an intern or extern command, a program a or batch file.

(从挪威语人工翻译而来)。

我已尝试找到特定文件的路径,但没有名为“3to2”的文件。我试图直接指向“main.py”文件和“Spotify.py”,似乎发生了一些事情(就像它需要一点点时间,并且没有给出错误),但是当我打开“Spotify .py”,文件没有任何变化。

感谢所有帮助。


谢谢 spatz,这帮了大忙。最后,我设法通过 cd C:\Python32>python.exe setup.py install

安装了这个包

无论如何,我还有一些问题。以print("Hello World!")程序为例。当我运行 python.exe 3to2 HelloWorld.py(没有 python.exe 就无法运行)时,它回答:

 RefractingTool: Skipping implicit fixer: collections
RefractingTool: Skipping implicit fixer: int
RefractingTool: Skipping implicit fixer: memoryview
RefractingTool: Skipping implicit fixer: printfunction
RefractingTool: Skipping implicit fixer: inittest
RefractingTool: Refactored HelloWorld.py
--- HelloWorld.py (original)
+++ HelloWorld.py (refactored)
@@ -1 +1 @@
-print("Hello World!")
+print u"Hello World!"
RefactoringTool: Files that need to be modified:
RefactoringTool: HelloWorld.py

这对我来说真是喜忧参半。首先,它似乎跳过了一些修复程序,例如 printfunction。但后来,它看起来确实像它应该的那样将 print("Hello World!") 更改为 print u"Hello World!"。问题是当我在 IDLE 3.2 中打开这个文件时,文件中有原始代码。 Spotify.py 文件的情况完全相同。 IDLE 是否足够“智能”以更改此简单代码以使其与 3.x 兼容,或者 3to2 修复程序集不起作用?


解决方案:我想到了。我必须将 -w 作为参数包含在内。除了创建备份文件 .bak 之外,还转换了原始文件。

感谢所有帮助过我的人!

最佳答案

您似乎没有正确安装 3to2。要安装,请执行以下操作:

  1. 将下载的.tar.gz 文件解压到某个目录
  2. cd 到该目录并运行 python setup.py install

现在您可以cdSpotify.py 所在的目录并运行3to2 Spotify.py,它应该可以工作。

关于python - 使用 Python 3to2 修复程序集的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8964530/

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