我正在编写一个程序,用于打开文件,计算单词,返回单词数,然后关闭.我知道如何做所有事情激发让文件打开并显示文本这是我到目前为止:
fname = open("C:\python32\getty.txt") file = open(fname,'r') data = file.read() print(data)
我得到的错误是:
TypeError: invalid file: <_io.TextIOWrapper name='C:\\python32\\getty.txt' mode='r' encoding='cp1252'>
解决方法
您正在使用open()两次,因此您实际上已经打开了该文件,然后您尝试打开已打开的文件对象…将您的代码更改为:
fname = "C:\\python32\\getty.txt" infile = open(fname,'r') data = infile.read() print(data)
TypeError表示无法打开类型_io.TextIOWrapper,这是打开文件时open()返回的内容.
编辑:你应该真的像这样处理文件:
with open(r"C:\python32\getty.txt",'r') as infile: data = infile.read() print(data)
因为当with语句块完成时,它将为你处理文件关闭,这是非常好的.字符串前面的r将阻止python解释它,使它完全按照你的方式形成它.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。