【问题标题】:Python: How to know if a file I append text to, existed or just created?Python:如何知道我附加文本的文件是否存在或刚刚创建?
【发布时间】:2014-05-14 03:25:21
【问题描述】:

如果文件存在,我想将一些文本附加到文件中,或者创建文件并在刚刚创建的情况下附加一些附加文本。我知道我可以使用 open("filename","a") 追加/创建,因为如果文件不存在,这行代码将创建文件。但是,我如何知道该文件是存在还是刚刚创建?

最终我想实现这个目标:

with(open("filename","a")) as f:
    if filename existed before open
        # Append text
    else if filename was just created
        # Append some headers
        # Append text

我可以通过先检查文件是否存在(os.path.isfile(filename))然后采取相应措施来实现这一点,但我正在寻找一种更优雅的方式。

【问题讨论】:

  • os.path.isfile(fname) 检查文件是否存在。
  • file tell() 效果很好!

标签: python file append conditional


【解决方案1】:

一种方法是在打开文件后使用tell。如果它返回“0”,则表示其中没有内容。

【讨论】:

  • 不错!谢谢你。它按预期工作,因为附加文件模式将指针放在文件末尾。如果返回 0,则表示文件中还没有任何内容。
  • 没有什么比代码更好的了。如果文件刚刚创建,f.tell() 将返回 0。
【解决方案2】:

首先检查文件是否存在:

import os.path
os.path.isfile(file_path)

有几种方法可以做到这一点:How do I check whether a file exists using Python?

【讨论】:

  • 还有专门为此目的制作的os.path.exists(path)
猜你喜欢
  • 2017-12-19
  • 1970-01-01
  • 2017-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-14
  • 2019-12-24
相关资源
最近更新 更多