我有一个大型文本文件,我正在使用以下代码将其作为字符串导入到 python 脚本中。
from pathlib import Path
file = Path('edits.txt').read_text(encoding='UTF8')
我需要能够捕获/打印该文本文件中的某个段落,因此我需要知道段落开始和结束的字符的位置,并将这些索引作为字符串切片传递给 python,例如print(file[100:200])
例如,要复制以下段落,我将鼠标光标设置在它开始之前并使用 Notepad++ Ctrl-g
,选择偏移量,然后捕获偏移量数字。
Notepad++截图:
在我们的例子中,开头的偏移量是 47997,结尾的偏移量是 48715,但是当我这样做时,print(file[47997:48715])
我得到了文件的不同部分。
该文件包含 Unicode 字符,但是我在 Notepad ++ 中使用 UTF8 编码,并在 python 中也将文件读取为 UTF8。
我的问题是,如何在 notepad++(或您建议的任何其他文本编辑器)中获得正确的偏移量?
编辑:我认为问题在于 Unicode 字符,例如在“us—when”中相当于当我将编码从 UTF8 更改为 ASNI 并且偏移量计数为 3 个字符时,python 可能将其视为单个字符,这就是偏移量丢失的时候