1

以下是练习中的代码:

from sys import argv

script, user_name = argv
prompt = '> '

print "Hi %s, I'm the %s script." % (user_name, script)
print "I'd like to ask you a few questions."
print "Do you like me %s?" % user_name
likes = raw_input(prompt)

print "Where do you live %s?" % user_name
lives = raw_input(prompt)

print "What kind of computer do you have?"
computer = raw_input(prompt)

print """
Alright, so you said %r about liking me.
You live in %r.  Not sure where that is.
And you have a %r computer.  Nice.
""" % (likes, lives, computer) 

现在我正在运行 Windows 7,并且正在使用代码运行 CMD 行

python ex14.py myname

我收到此错误:

File "ex14.py", line 3
Python ex14.py, user_name
SyntaxError: invalid syntax
4

2 回答 2

2

可见字符中的脚本没有任何问题

  • 检查源中没有 Unicode 空格,例如NO-BREAK SPACE字符。在同一目录中创建一个新脚本:
with open('ex14.py', 'rb') as file:
     s = file.read()
     print(repr(s)[:60])
     u = s.decode('ascii') # this line should raise an error
                           # if there are bytes outside ascii
  • 检查 Python 版本以确保它是 2.7(正确解释错误消息):

    $ python -V
    
  • 检查文件是否未使用 utf-16/32 编码保存(@abarnert 在评论中的建议)。

    '\x00'在这种情况下,您应该在repr()结果中看到许多零字节。

于 2013-01-23T19:05:09.250 回答
1

安装 python2 和终端类型

python2 ex14.py 我的名字

将解决您在最新 python 版本中运行脚本的问题,并且代码的语法适用于 python 版本 2,这就是您收到语法错误的原因

于 2018-01-23T14:21:24.940 回答