使用Portable Python时出现重复错误

时间:2013-03-21 15:20:40

标签: python

注意:标记为原始的问题没有回答。这不仅仅是Python v2 vs v3问题,我将在下面的评论中解释。

原帖: 我正在尝试在工作中学习Python,所以我目前正在使用Portable Python 3.2.1.1(此后将称之为PP)。 (我提到这个是因为当我使用我的Mac和常规Python时,这个问题在家里不会发生。)

我正在通过练习16艰难学习Python(http://learnpythonthehardway.org/book/ex16.html)。我听说这不是最好的学习工具,但我是一个完整的编程n00b,我是一个动手学习者。如果您有任何更好的建议,我会开放!

练习的前几行是:

    from sys import argv
    script, filename = argv
    print "We're going to erase %r." % filename
    print "If you don't want that, hit CTRL-C (^C)."

我的脚本标题为Ex16.py,我使用的文件是Python.txt,这两个文件都与PP .exes位于同一个文件夹中。我不认为这是必要的,但希望它可以解决问题......消极。当我在PP中按“运行”时,它不起作用,因为argv要求您在启动脚本时提供参数:python Ex16.py Python.txt

当我启动Python.exe(在PP中是Portable-Python.exe)时,我得到标准的Python提示符>>>,但无论我输入什么,我都会收到相同的错误消息:

    File "<stdin>", line 1
    with whatever I've just tried repeated back to me with the marker to 
    indicate where the problem is. (has not been helpful so far)

    SyntaxError: invalid syntax

我尝试在&gt;&gt;&gt;上输入以下内容提示: python Ex16.py Python.txt ,, Ex16.py Python.txt ,, "%PATH&\Ex16.py" "%PATH%\Python.txt" (with the actual filepaths) ,, print 'hello world'

我只是一遍又一遍地得到同样的无效语法错误。即使是基本的打印命令也会返回无效的语法错误。触发不同错误的唯一一个是我尝试整个文件路径的那个。那个回来了:

    File "<stdin>", line 1
    SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in 
    position 2-3: truncated \UXXXXXXXX escape

是的,我用Google搜索了这两个错误。我读到有时候问题不是将退格加倍,所以我也尝试了两个\,在两个文件路径中只有一个之前。我甚至尝试将— # -*- coding: utf-8 -*-放在脚本的开头,以为可能存在一些unicode错误。使用完整的文件路径,导致前面提到的相同的unicode错误。

是的,我已经检查过我的代码与练习中的代码相匹配 是的,这适用于非PP的家庭。

所有这些让我相信问题可能就在我试图在PP中运行脚本的方式(但为什么print不会工作?),但我不知道是什么我做错了。

谢谢!

2 个答案:

答案 0 :(得分:5)

print是Python 3中的一个函数:

print('my string with content and the like')

不再支持它作为'声明'。您可能想要查看list of things that changed from python2.x to python3.x(有许多不兼容性)。此外,您最好使用Python3查找教程。

答案 1 :(得分:2)

您必须输入:

Portable-Python.exe Ex16.py Python.txt

在您的命令提示符下。要获取命令提示符,请按WindowsKey-R,然后键入“cmd”并按Enter键。你现在应该看看像c:\>这样的东西。使用cd命令导航到便携式python安装。