python - 创建一个空文件并在一行中关闭

Che*_*tah 2 python file-io

我想确保正确清理所有资源.这是安全的事情:

try:
    closing(open(okFilePath, "w"))
except Exception, exception:
    logger.error(exception)
    raise
Run Code Online (Sandbox Code Playgroud)

编辑:

事实上,考虑到它,我甚至需要try/catch,因为我提出异常,无论如何我可以登录更高级别.如果在创建文件时出错,可以假设没有什么可以关闭的吗?

dab*_*lak 7

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

try:
    with open(path_to_file, "w+") as f:
        # Do whatever with f
except:
    # log exception
Run Code Online (Sandbox Code Playgroud)

  • @Ben:...然后将`#Dof with f`行改为`pass` _or_将所有内容放在一行`open(path_to_file,w +):pass`. (4认同)
  • @Ben:然后将`as f`部分留下. (2认同)
  • 我只是部分同意这个答案,因为它不是 oneliner(好吧,`with ...: pass` 是 oneliner)。您可以执行 `open(path_to_file, "w+").close()` 打开(如果不存在则创建)然后关闭文件。 (2认同)
  • @rbaleksandar 在一行中编写代码没有任何优势。我个人不理解这种愿望。 (2认同)