我一直试图解析一个文本文件,并用正则表达式来处理它。 这是我的脚本:TypeError:期望的字符串或缓冲区| Python
import re
original_file = open('jokes.txt', 'r+')
original_file.read()
original_file = re.sub("\d+\. ", "", original_file)
如何解决以下错误:
Traceback (most recent call last):
File "filedisplay.py", line 4, in <module>
original_file = re.sub("\d+\. ", "", original_file)
File "C:\Python32\lib\re.py", line 167, in sub
return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or buffer
为什么我会收到这个错误?
'original_file'是一个文件对象,您需要读取它以获取其内容或正则表达式所需的缓冲区。 – Jerry
谢谢,我已经更新了代码,它仍然会抛出一个错误:/ –
Err,您没有将缓冲区放在变量'original_file'中,所以您仍然在正则表达式中使用文件对象。你为什么不使用其他变量?像'contents = original_file.read()'? – Jerry