Python中的文件输入和输出
我写了一个Python程序,但它没有正常工作。这个程序的功能是接收一个文件的输入,然后显示这个文件的内容。可是我遇到的唯一错误是语法错误,但我找不到具体的问题。请帮帮我。
代码是:
nm = input(“enter file name “)
str = raw_input(“enter ur text here: \n”)
f = open(nm,”w”)
f.write(str)
f.close()
print “1.See the file\n”
print “2.Exit\n”
s = input(“enter ur choice “)
if s == 1 :
fi = open(nm,”r”)
cont = fi.read()
for i in cont:
print i
else :
print “thank you “
1 个回答
2
问题在于你使用 input()
来读取文件名,而不是 raw_input()
。看看这个 回答,里面有解释:
如果你使用
input
,那么你输入的数据会被当作 Python 表达式来处理,这样你得到的变量类型就可能是各种各样的,甚至会产生很多不同的错误。所以,除非你只是临时测试一下,且你对 Python 表达式有一定了解,否则不应该使用input
。而
raw_input
总是返回一个字符串,因为你输入的内容本来就是字符串……然后你可以很容易地把它转换成你想要的特定类型,并处理可能出现的特定错误。希望这个解释能让你明白该用哪个。
另外,由于你是通过 fi.read()
来读取文件内容的,你的循环 for i in cont:
会一次选择文件内容中的每一个字符,而不是每一行。这一点要注意哦!