开发者

How to make sure a file exists or can be created before writing to it in Python?

开发者 https://www.devze.com 2023-01-19 22:13 出处:网络
I\'m writing a function and I want it to touch a file so that I can write to that file. If the file doesn\'t exist, I will get an error. Ho开发者_开发技巧w can I say that?Just open the file for writin

I'm writing a function and I want it to touch a file so that I can write to that file. If the file doesn't exist, I will get an error. Ho开发者_开发技巧w can I say that?


Just open the file for writing and it will be created if it doesn't exist (assuming you have proper permission to write to that location).

f = open('some_file_that_might_not_exist.txt', 'w')
f.write(data)

You will get an IOError if you can't open the file for writing.


Per the docs, os.utime() will function similar to touch if you give it None as the time argument, for example:

os.utime("test_file", None)

When I tested this (on Linux and later Windows), I found that test_file had to already exist. YMMV on other OS's.

Of course, this doesn't really address writing to the file. As other answers have said, you usually want open for that and try ... except for catching exceptions when the file does not exist.


if you actually want to raise an error if the file doesn't exist, you can use

import os
if not os.access('file'):
    #raise error
f = open('file')
#etc.
0

精彩评论

暂无评论...
验证码 换一张
取 消