home changes contents help options

149:名前がぶつからないファイルを作成

os.open に os.O_CREATE と os.O_EXCL フラグを与えてファイルを開くことで、 既にファイルが存在する場合、 OSError? となるようにすることができます。 得られるのはファイルデスクリプタです。ファイルオブジェクトに変換したければ os.fdopen を用います。

fd = os.open('spam.txt', os.O_WRONLY|os.O_CREAT|os.O_EXCL)
fobj = os.fdopen(fd, 'r+')
try:
    fobj.write('spam\n')
finally:
    fobj.close()

参考