【问题标题】:In TCL, is it possible to delete top few or n lines of file, when file is under continuous write operation在TCL中,当文件处于连续写操作时,是否可以删除文件的前几行或前n行
【发布时间】:2019-08-05 09:03:41
【问题描述】:

下面是如何将数据写入文件的代码。

设置fid [打开“file.txt”w]
fconfigure $fid - 缓冲线

我想知道是否有任何方法可以在文件处于写入模式时删除文件的前 n 行而不关闭 fileID,即 fid。

【问题讨论】:

    标签: tcl configure io-buffering


    【解决方案1】:

    由于文件的处理方式,这是不可能的。它也与 Tcl/Tk 语言无关,任何编程语言都不可能。

    为了解决这个问题,我们使用了一些变通方法。

    例如,1)读取内存中的文件; 2) 从头删除不需要的数据 2) 将数据写回文件。

    或者:1)打开原始文件进行读取 2)打开临时文件进行写入 3)从原始文件中跳过不需要的数据 4)从原始文件中读取需要的数据并将其写入临时文件 5)关闭原始文件和临时文件 6) 删除原文件并重命名临时文件。

    【讨论】:

    • 这是一种要求,其中“使用数据库”是正确的响应。 (我猜 PostgreSQL 是正确的选择。)
    猜你喜欢
    • 2019-12-12
    • 2023-02-24
    • 1970-01-01
    • 1970-01-01
    • 2021-02-01
    • 1970-01-01
    • 2020-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多