Thursday, 7 June 2018

linux - open() in Python does not create a file if it doesn't exist



What is the best way to open a file as read/write if it exists, or if it does not, then create it and open it as read/write? From what I read, file = open('myfile.dat', 'rw') should do this, right?



It is not working for me (Python 2.6.2) and I'm wondering if it is a version problem, or not supposed to work like that or what.



The bottom line is, I just need a solution for the problem. I am curious about the other stuff, but all I need is a nice way to do the opening part.




The enclosing directory was writeable by user and group, not other (I'm on a Linux system... so permissions 775 in other words), and the exact error was:




IOError: no such file or directory.



Answer



You should use open with the w+ mode:



file = open('myfile.dat', 'w+')


No comments:

Post a Comment

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print ...