我为我的小组项目编写了一个返回函数。 我正在使用 python 3.4 并写了这个:
def readrouter(x, y):
conn = sqlite3.connect('server.db')
cur = conn.cursor()
cur.execute("SELECT DISTINCT command FROM router WHERE
function =? or type = ? ORDER BY key ASC",(x, y))
read = cur.fetchall()
return read;
a = input("x:")
b = input("y:")
for result in readrouter(a,b):
print (result[0])
由于我的主要成员正在使用2.7,我现在需要遵循他的版本。 当我将 .py 重新输入 python 2.7 后 有错误:
x:create vlan
Traceback (most recent call last):
File "C:/Users/f0449492/Desktop/2015225/database.py", line 322, in <module>
a = input("x")
File "<string>", line 1
create vlan
^
SyntaxError: unexpected EOF while parsing
Process finished with exit code 1
如何修复这个错误?
在 Python 2.7 中,将 input() 替换为 raw_input()。
前者在输入字符串上运行 eval() 并期望有效的 Python 代码作为输入。 您的输入
create vlan
不是有效的 Python,无法进行评估。 后者只是返回一个字符串,没有进一步处理。
作为后续 - 为了确保与两个 Python 分支的兼容性,您可以使用 six .