【发布时间】:2016-11-06 09:31:36
【问题描述】:
有趣的是,以前在 SO 中没有问过这样的问题。
我正在将数据行记录到 Python2 中的文本文件中。我想做的是,通过行数,我想擦除一行,但我不希望它被下一个填充,只是保持空白(因此不必每次都写一个新文件删除一行。)
所以我要问的不是这些之一,
基本概念是更改特定行的内容,在这种情况下更改为空字符串。
有一个问题我并没有真正理解,但可以包含我的问题的答案。如果是这样,请帮我理解是怎么回事。
如果您认为我的问题与此问题重复,请在标记他的问题之前向我解释答案。
我对该主题的研究:
- https://docs.python.org/2/library/fileinput.html(没看懂 如果它完全满足我的需求。)
-
file.seek()(这个 C like 函数有用吗?)
编辑:我什至忘了问这样的事情是否可行,我会很感激你的信息。
【问题讨论】:
-
将特定行替换为空格字符就足够了吗?否则,您将不得不向后翻译相关行之后的所有字节。
-
@fuglede 我想空白字符就足够了,但是我现在意识到,对于我所追求的行为,需要固定的字节长度。就像在 C 中一样。但我可以检查每行的长度并用足够数量的空格替换它们。不过,我仍然不知道如何在 Python 中实现这一点。
-
正如 fuglede 所说,您可以用空白字节替换不需要的字节,例如空格字符(ASCII 代码 0x20)。传统上,DEL character(ASCII 代码 0x7f)已用于此目的。
-
我在下面的答案中添加了一种使用 Python 实现这一目标的方法。
-
文本文件中的行长度是否相同?如果是这样,您可以使用文件
.seek方法快速跳转到任何所需的行。
标签: python python-2.7 file