如何确保在Python中写入文件之前,文件已经存在或可以创建?

12 浏览
0 Comments

如何确保在Python中写入文件之前,文件已经存在或可以创建?

我正在编写一个函数,我希望它去“触碰”一个文件,以便我可以向该文件写入内容。如果该文件不存在,我将会收到一个错误。我该如何表达这个意思?

0
0 Comments

在Python中,我们经常需要确保文件存在或者能够被创建,然后再对其进行写入操作。但是有时候我们可能会遇到一些问题,比如文件不存在或者无法被创建。接下来,我们将通过以下内容来解决这个问题。

根据官方文档的描述,如果我们将时间参数设置为None,那么os.utime()函数将类似于touch命令。例如:

os.utime("test_file", None)

我在Linux和Windows系统上进行了测试,发现test_file必须已经存在。在其他操作系统上可能会有所不同。

当然,这并没有解决如何写入文件的问题。正如其他答案所说,通常我们使用open函数进行写入操作,并使用try ... except语句来捕获文件不存在的异常。

下面是一个解决“文件必须存在”的问题的版本,可以参考stackoverflow.com/questions/1158076/…

0
0 Comments

问题出现的原因是在Python中写入文件之前,需要确保文件存在或者可以被创建。解决方法有两种:一种是使用os.access函数来检查文件是否存在,如果文件不存在则抛出错误;另一种是使用try和except语句来处理可能出现的IOError异常。根据McNamara的建议,使用try和except语句是更好的选择,因为即使进行了多个检查,文件在调用os.access函数和打开文件之间也可能变得不可访问。

0
0 Comments

问题的出现的原因是想要确保在写入文件之前文件存在或可以创建。解决方法是打开文件进行写入,如果文件不存在,则会创建文件(假设你有适当的写入权限)。如果无法打开文件进行写入,则会出现IOError。然而,需要注意的是,这并不是"touch"的Python等价物,因为使用"w"选项将删除文件的内容(如果文件已经存在)。如果要实现Python的"touch",可以查看stackoverflow的这个问题:stackoverflow.com/questions/1158076/…

0