1

环境:Windows 7 Python2.7 Eclipse SDK 3.7.2

尝试遵循http://www.youtube.com/watch?v=Z-HpXbhVuGo中的教程 我收到一条错误消息:

============================== 错误==================== ========= Traceback(最近一次调用最后一次):文件“C:\eclipse\plugins\org.python.pydev_2.7.1.2012100913\pysrc\pydev_runfiles.py”,第 432 行,在get_module_from_str mod = __import (modname) 文件“C:\Users\lenovo\workspace\assignment3\fileiotest.py”,第 17 行 print(bestStudent[i] + ' 得分 ' + i) ^ SyntaxError: invalid syntax ERROR: Module: fileiotest could not被导入(文件:C:/Users/lenovo/workspace/assignment3/fileiotest.py)。

..................................................... ……………………………………………………………………………………………………………………………………

#-*- coding: utf8 -*-
from __future__ import print_function


bestStudent = {}
f = open ("C:/Users/lenovo/workspace/assignment3/studentgrades.txt")
for line in f:
    name, grade = line.split()
    bestStudent[grade] = name

f.close()

bestStudentStr= "" 

for i in sorted(bestStudent.keys(), reverse=True):
    print bestStudent[i] + 'scored a ' + i
bestStudentStr += bestStudent[i] + ‘ scored a ‘ + i + ‘\n’

bestStudentStr = ‘\nThe Best Students Ranked\n\n’ + bestStudentStr

print(bestStudentStr)

outToFile = open(‘studentrank.txt’, mode=’w', encoding='utf-8′)
outToFile.write(bestStudentStr)

outToFile.close()

print(‘Finished update’)
4

2 回答 2

0

非ASCII字符被替换:

from __future__ import print_function

bestStudent = {}
f = open ("C:/Users/lenovo/workspace/assignment3/studentgrades.txt")
for line in f:
    name, grade = line.split()
    bestStudent[grade] = name

f.close()

bestStudentStr= "" 

for i in sorted(bestStudent.keys(), reverse=True):
    print bestStudent[i] + "scored a " + i
bestStudentStr += bestStudent[i] + " scored a " + i + "\n"

bestStudentStr = "\nThe Best Students Ranked\n\n" + bestStudentStr

print(bestStudentStr)

outToFile = open("studentrank.txt", mode="w", encoding="utf-8")
outToFile.write(bestStudentStr)

outToFile.close()

print("Finished update")

当您从 pdf、doc 等文件复制源代码时会发生这种情况。最好的解决方案是在不支持 unicode 的文本编辑器中复制/粘贴,然后您会看到?标记有什么问题。

于 2013-01-13T01:57:44.373 回答
0
于 2013-01-13T01:53:14.210 回答