AttributeError: object 'tuple' does not have attribute 'write'

I have a homework for the Python class, and I am facing an error that I do not understand. Running Python IDLE v3.2.2 on Windows 7.

The following is the problem:

#local variables
number=0
item=''
cost=''

#prompt user how many entries
number=int(input('\nHow many items to add?: '))

#open file
openfile=('test.txt','w')

#starts for loop to write new lines
for count in range(1,number+1):
    print('\nFor item #',count,'.',sep='')
    item=input('Name:  ')
    cost=float(input('Cost: $'))

    #write to file
    openfile.write(item+'\n')
    openfile.write(cost+'\n')

#Display message and closes file
print('Records written to test.txt.',sep='')
openfile.close

This is the error I get:

Traceback (last last call): File "I: \ Cent 110 \ test.py", line 19, in openfile.write (item + '\ n')
AttributeError: object 'tuple' does not have attribute 'write'

+5
source share
1 answer

You are missing open .

openfile = open('test.txt','w')

And at the end there are no parsers when you try to close the file

openfile.close()

Edit: I just saw another problem.

openfile.write(str(cost)+'\n')
+7
source

All Articles