2

我想确保所有资源都被正确清理。这是安全的事情吗:

try:
    closing(open(okFilePath, "w"))
except Exception, exception:
    logger.error(exception)
    raise

编辑:

事实上,考虑一下,我什至需要 try/catch,因为我正在引发异常,无论如何我可以在更高级别登录。如果在创建文件时出错,可以假设没有什么可以关闭?

4

5 回答 5

8

为确保文件在任何情况下都已关闭,您可以使用with语句。例如:

try:
    with open(path_to_file, "w+") as f:
        # Do whatever with f
except:
    # log exception
于 2013-06-21T14:09:12.917 回答
1

您可以使用它来创建一个文件并在一行中关闭它。

with open(file_path, 'w') as document: pass

于 2019-12-29T16:58:28.283 回答
1

最简单的解决方案是:

open(fileName, 'w').close()
于 2021-06-30T12:26:31.397 回答
0

如果你想要一个真正的一个班轮:

os.remove("echo > YourFile")

它将在 Linux 和 Windows 上运行。

于 2021-03-03T20:16:38.493 回答
0

mknod函数创建一个新文件而不打开它

import os
import stat
os.mknod('test', 0o600 | stat.S_IFREG)
# 0o600 -> owner can read+write file, group and other have no permissions
# stat.S_IFREG -> create regular file, instead of character/block device, pipe, or other special file

警告:仅在 Unix 上可用

于 2021-07-26T19:27:51.233 回答