为什么在这个Python代码中会出现这个错误?

为什么在这个Python代码中会出现这个错误?,python,Python,我试图用Python提取文件中的第一个单词 我的代码 import re con1 = pg.DB('tk', 'localhost', 5432, None, None, 'masi', '123') f1="/home/masi/fy.txt" print re.findall(r"\w+", f1.read()) 我得到了错误 Traceback (most recent call last):

我试图用Python提取文件中的第一个单词

我的代码

import re

con1 = pg.DB('tk', 'localhost', 5432, None, None, 'masi', '123')                
f1="/home/masi/fy.txt"

print re.findall(r"\w+", f1.read())
我得到了错误

Traceback (most recent call last):                                              
  File "<stdin>", line 7, in <module>
AttributeError: 'str' object has no attribute 'read'
回溯(最近一次呼叫最后一次):
文件“”,第7行,在
AttributeError:“str”对象没有属性“read”

f1.read()
应该是
打开的(f1.read()
我不懂Python,但看起来你需要打开

f=open('/tmp/workfile', 'r')

根据

将f1指定给文件路径时,实际上是说f1是引用文件路径的字符串。相反,如果要将其指定给在该文件路径上调用的“open”方法的返回值(正如Jonathan所建议的),则f1将是一个打开的文件