gpt4 book ai didi

python - 使用python创建空文件

转载 作者:IT老高 更新时间:2023-10-28 12:12:16 44 4
gpt4 key购买 nike

我想使用 python 创建一个路径为 x 的文件。我一直在使用 os.system(y) 其中 y = 'touch %s' % (x)。我一直在寻找 os.mkdir 的非目录版本,但我找不到任何东西。有没有这样的工具可以在不打开文件的情况下创建文件,或者使用 system 或 popen/subprocess?

最佳答案

不打开文件就无法创建文件 os.mknod("newfile.txt")(但需要root权限OSX)。创建文件的系统调用实际上是带有 O_CREAT 标志的 open()。所以无论如何,你总是会打开文件。

因此,简单地创建文件而不截断它以防万一它存在的最简单方法是:

open(x, 'a').close()

实际上你可以省略 .close() 因为 CPython 的 refcounting GC 会在 open() 语句完成后立即关闭它 - 但这样做更干净明确地依赖 CPython 特定的行为也不好。

如果您想要 touch 的行为(即在文件存在的情况下更新 mtime):

import os
def touch(path):
with open(path, 'a'):
os.utime(path, None)

您可以扩展它以在路径中创建任何不存在的目录:

basedir = os.path.dirname(path)
if not os.path.exists(basedir):
os.makedirs(basedir)

关于python - 使用python创建空文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12654772/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com