1

假设我有一个文本文档。我有一行。我想删除该行上的文本并用另一个文本替换它。我该怎么做呢?文档上没有这方面的内容,在此先感谢!

4

2 回答 2

2

未经测试:使用 .readlines() 读取文件的行,然后替换该列表中的行号索引。最后,它连接这些行并将其写入文件。

with open("file", "rw") as fp:
    lines = fp.readlines()
    lines[line_number] = "replacement line"
    fp.seek(0)
    fp.write("\n".join(lines))
于 2014-03-16T09:21:09.813 回答
2

要替换 QScintilla 中的一行,您需要首先选择该行,如下所示:

    # as an example, get the current line
    line, pos = editor.getCursorPosition()
    # then select it
    editor.setSelection(line, 0, line, editor.lineLength(line))

选择该行后,您可以将其替换为:

    editor.replaceSelectedText(text)

如果您想用另一行替换一行(将在此过程中删除):

    # get the text of the other line
    text = editor.text(line)
    # select it, so it can be removed
    editor.setSelection(line, 0, line, editor.lineLength(line))
    # remove it
    editor.removeSelectedText()
    # now select the target line and replace its text
    editor.setSelection(target, 0, target, editor.lineLength(target))
    editor.replaceSelectedText(text)        
于 2014-03-16T17:34:37.383 回答