有没有方法来创建,而无需打开文件时,它 有
os.mknod("newfile.txt")( 但它需要在OSX root权限)。创建文件的系统调用实际上
open()带有该
O_CREAT标志。因此,无论如何,您将始终打开文件。
因此,简单地创建文件而不截断文件(如果文件存在的话)的最简单方法是:
open(x, 'a').close()
实际上,您可以忽略这一点,
.close()因为CPython的引用计数GC将在
open()语句完成后立即将其关闭-
但显式地执行此操作比较干净,并且依赖于CPython的特定行为也不是一件好事。
如果您想要
touch的行为(即在文件存在的情况下更新mtime):
import osdef touch(path): with open(path, 'a'): os.utime(path, None)
您可以扩展它以在路径中创建不存在的任何目录:
basedir = os.path.dirname(path)if not os.path.exists(basedir): os.makedirs(basedir)



