使用python3to2修复程序的问题

2024-09-28 03:23:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一个编程新手,需要一些关于修复程序的帮助,将为Python3.x编写的代码重构成可以在2.x解释器上运行的代码。在

我有python3.2,但是Spotify难题(http://www.spotify.com/us/jobs/tech/best-before/)的许可要求代码是用2.6编写的。因此,我找到了3to2隐形眼镜。我有“3to2逯py3k-1.0”。焦油gz“您可以从这里下载的vesion:https://bitbucket.org/amentajo/lib3to2。在

自述文件告诉您

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

此站点上的文本与自述文件相同。在

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

C:\Python32>3to2 Spotify.py

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

(挪威语手工翻译)。在

我已经尝试了到特定文件的路径,但是没有名为“3to2”的文件。我试着找到主.py“文件和”Spotify.py“很直接,好像有什么事情发生了(好像需要一点点时间,而且没有出错),但是当我打开时”Spotify.py“再说一遍,档案什么都没发生。在

我感谢所有的帮助。在


谢谢你,斯帕茨,这帮了大忙。最后,我成功地通过cdC:\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 u"Hello World!"改变了{}。问题是,当我在IDLE 3.2中打开这个文件时,该文件具有原始代码。同样的情况也发生在Spotify.py文件。空闲的“智能”是否足以更改这个简单的代码,使其与3.x兼容,或者3to2 fixer集不起作用?在


解决方案: 我想出来了。我不得不把-w作为一个参数。它除了创建备份文件.bak之外,还转换了原始文件。在

感谢所有帮助过我的人!在


Tags: or文件代码py程序helloworldexe
1条回答
网友
1楼 · 发布于 2024-09-28 03:23:42

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

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

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

相关问题 更多 >

    热门问题