【问题标题】:How to empty a file using Python如何使用 Python 清空文件
【发布时间】:2011-06-22 07:20:21
【问题描述】:

在 Unix shell 中,我可以这样做来清空文件:

cd /the/file/directory/
:> thefile.ext

我将如何在 Python 中执行此操作?

这里是os.system,我不知道怎么做,因为我必须一个接一个地发送两个动作,即cd,然后是:>

【问题讨论】:

  • 不应该以“w”模式打开文件,例如open("/the/path/thefile.ext","w")
  • @Adergaard:我不准备断然声称没有边界情况(例如网络文件系统)会失败。我不知道您是否处于其中一种情况,并且已经尝试过,但它对您不起作用。

标签: python


【解决方案1】:

打开一个文件会创建它并且(除非设置了 append ('a'))用空覆盖它,例如:

open(filename, 'w').close()

【讨论】:

  • 文件不断写入会不会有问题(是每秒写入的日志文件)
  • @Adergaard 通常不会。如果文件已经存在,则不会创建它,但会使用并截断相同的文件。如果日志记录过程继续写入文件,那么它也会出现在该文件中。但是,结合基于seektell的文件操作,可能会发生奇怪的事情。
  • 奇怪,这似乎并非如此。
  • 在 for 循环中重写文件时对我不起作用。我使用 os.remove("filename") 然后 file1 = open("filename", "w")
【解决方案2】:

@rumpel 的另一种回答形式

with open(filename, 'w'): pass

【讨论】:

    猜你喜欢
    • 2012-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-18
    • 1970-01-01
    • 2021-12-24
    相关资源
    最近更新 更多