tags:

views:

77

answers:

3

I am trying to extract the first words in a file by Python.

My code

import re

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

print re.findall(r"\w+", f1.read())

I get the error

Traceback (most recent call last):                                              
  File "<stdin>", line 7, in <module>
AttributeError: 'str' object has no attribute 'read'
+4  A: 

f1.read() should be open(f1).read()

Mark Byers
+5  A: 

I don't know Python but it looks like you need to open the file which is

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

According to this site

Jonathan
A: 

When you assign f1 to the filepath, you are actually saying the f1 is the string referring to the filepath. Instead, if you were to assign it to the return value of the 'open' method called on that filepath (as Jonathan suggests), then f1 would be an open file.

inspectorG4dget