Reputation: 1324
My script is not working, I can't figure out where the bug is, I have opened the file with the open() function each time I want to work with the file in Python, and when running it signals this error:
Traceback (most recent call last):
File "my_example.py", line 26, in <module>
doc.truncate()
IOError: File not open for writing
To run it I run it this way in the Terminal:
python my_example.py my_example_sample.txt
Here's the Python Script (code) :
from sys import argv
#from os.path import exists
script, filename = argv
print "The name of this program is %s" % script
print "The name of the file you want to read is %s" % filename
print "Press ENTER if you want to read the selected document."
print "Press CTRL-C to cancel."
raw_input('>')
print "%s :" % filename
doc = open(filename)
print doc.read()
#doc.close()
erase_file = raw_input("Do you want to erase the file %s Y/N? : " % filename)
if erase_file == "Y":
doc = open(filename)
print "Truncating the file..."
doc.truncate()
print "Done, truncated."
#doc.close()
else:
print "That's okay!"
write_file = raw_input("Do you want to write in the file %s Y/N? : " % filename)
if write_file == "Y":
doc = open(filename)
print "I'm going to ask you to type in what you like to write in the file %s
(limited to 3 lines)" % filename
line1 = raw_input("line 1: ")
line2 = raw_input("line 2: ")
line3 = raw_input("line 3: ")
print "Perfect! writing in..."
doc.write(line1)
doc.write('\n')
doc.write(line2)
doc.write('\n')
doc.write(line3)
doc.write('\n')
print "Done!"
doc.close()
else:
print "Ok, see you later!"
doc.close()
# add copy and exists? features?
Any solution?
What the program does is simply reading (read()) a file (printing the file), ask the user if he wants to erase the file (truncate()) and if he wants to write in it (write()) .
Upvotes: 0
Views: 4178