我想x
使用python创建一个带有路径的文件。我一直在使用os.system(y)
where y = 'touch %s' % (x)
。我一直在寻找的非目录版本os.mkdir
,但是却找不到任何东西。是否有类似这样的工具可以创建文件而无需打开文件,也无需使用系统或popen /subprocess?
有没有方法来创建,而无需打开文件时,它
有os.mknod("newfile.txt")
( 但它需要在OSX root权限
)。创建文件的系统调用实际上open()
带有该O_CREAT
标志。因此,无论如何,您将始终打开文件。
因此,简单地创建文件而不截断文件(如果文件存在的话)的最简单方法是:
open(x, 'a').close()
实际上,您可以忽略这一点,.close()
因为CPython的引用计数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创建HTML文件的任务。我了解如何将HTML文件读入python,然后进行编辑和保存。 上一部分的问题在于,它只是替换了整个HTML文件并将字符串放入write()中。如何编辑文件,同时保持其内容完整。我的意思是,写这样的东西,但在 体内标签 我需要自动在打开和关闭正文标签之间插入链接。 问题答案: 您可能想阅读Beautiful
问题内容: 我想使用Python创建Word文档,但是,我想尽可能多地重用现有的文档创建代码。我目前正在使用XSLT生成HTML文件,并以编程方式将其转换为PDF文件。但是,我的客户现在要求以Word(.doc)格式提供同一文档。 到目前为止,我没有太多运气找到该问题的解决方案。有谁知道可以帮助解决此问题的开源库(或 gulp 专有解决方案)? 注意:所有可能的解决方案必须在Linux上运行。我相
问题内容: 此功能无效,并引发错误。我是否需要更改任何参数或参数? 问题答案: 如果文件不存在,将失败。 您可以使用,如果该文件不存在,则会创建该文件,但是它将截断现有文件。 另外,您可以使用; 如果该文件不存在,则会创建该文件,但不会截断现有文件。
问题内容: 这个问题已经在这里有了答案 : 使用ElementTree保存XML文件 (4个答案) 5年前关闭。 我正在Python 2.7中使用ElementTree构建SVG文档。这是代码: 生成输出: 这不会解析为有效的SVG。如何删除ns0名称空间? 问题答案: 我只是想通了,无法删除问题,所以这里是: 我认为这仅适用于Python 2.7。
但随后文件每次都被触摸,在日志中显示为黄线,这也是不令人满意的... 这个简单的问题还有更好的解决办法吗?