我第一次使用python中的输入并在此代码中出现错误:
import random
x = input("Name of the File? ")
lines = open(x).read().splitlines()
myline =random.choice(lines)
print(myline)
当我运行它时,它会询问我的名字..然后我输入:data.txt 并收到此错误:
NameError: name 'data' is not defined
答案 0 :(得分:1)
改为使用raw_input()
:
import random
x = raw_input("Name of the File? ")
lines = open(x).read().splitlines()
myline =random.choice(lines)
print(myline)
input()
不适合您的原因是它会读取您的输入,然后尝试使用eval
对其进行评估。当您输入输入data
时,它会尝试eval(data)
,这会导致NameError
(除非在范围内恰好有一个带有该名称的变量)。您可以使用input()
,但是,您需要输入引号,以便将其评估为字符串,例如输入"data"
。