【问题标题】:does pythons tar file finalize a file added, or wait till its closed?pythons tar 文件是否最终确定添加的文件,还是等到它关闭?
【发布时间】:2012-12-25 09:31:40
【问题描述】:

如果问题标题不清楚,我深表歉意。

我正在使用 python 创建一个非常大的压缩TarFile

我需要知道在使用TarFile.Add() 时是否会关闭和/或最终确定添加的文件,还是可以修改文件?

例如,如果我要创建一个空文本文件,然后将其添加到 TarFile,然后修改文本文件,然后关闭 TarFile,对文本文件所做的更改是否会出现在 TarFile 中,或者添加的文本文件是否与TarFile.Add() 时一样?

谢谢。

注意:如果有任何区别,代码运行在 Ubuntu 机器上,并且存档也在同一台机器上创建。

【问题讨论】:

    标签: python compression tar filehandle


    【解决方案1】:

    调用add()后文件内容不会更新。

    见以下代码:

    import tarfile
    
    fp1 = open("hello.txt", "w")
    
    tar = tarfile.open("myArchive.tar", "w")
    tar.add("hello.txt")
    
    fp1.write("Test String")
    fp1.close()
    
    tar.close()
    

    执行此操作后,'hello.txt' 将有“测试字符串”,但 'myArchive.tar' 中的 'hello.txt' 将为空。

    【讨论】:

    • 谢谢,这太好了,您可以通过在存档外的文件中添加一个“读取”示例来改进您的答案,但是谢谢!
    猜你喜欢
    • 2013-01-05
    • 2010-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-28
    • 2012-05-31
    • 2021-08-08
    • 1970-01-01
    相关资源
    最近更新 更多