Python中的文件输入和输出

0 投票
1 回答
1671 浏览
提问于 2025-04-17 15:28

我写了一个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: 会一次选择文件内容中的每一个字符,而不是每一行。这一点要注意哦!

撰写回答