如何从 Python 中的文件中读取 Ctrl 命令字符

How to read Ctrl command characters from a file in Python

现在我正在尝试使用 Python 读取和解析文件 2. 文件的创建者在终端中键入了一堆行,每行中有 (Ctrl A)s,然后复制这些行到一个文本文件中。所以文件中的行看起来像“(something)^A(something)”。当我使用python中的readlines()函数读取文件时,无法识别那些“^A”字符串。

我尝试使用io.open和codecs.open并将编码设置为UTF-8,但“^A”显然不是UTF-8字符串。有谁知道如何使用 python 从文件中读取这些特殊的控制命令字符串?非常感谢!

这些控制字符是 ASCII character set 的一部分,数字代码范围从 0 到 31(或十六进制的 00 到 1F)。要从字符串中删除它们,只需使用正则表达式替换:

import re
clean_string = re.sub(r'[\x00-\x1f]+', '', string_with_control_characters)

像这样简单地以二进制模式读取文件:open('file.txt', 'rb')。 Ctrl-A 将是值 1.

with open('test.txt', 'rb') as f:
    text = f.read()
    for char in text:
        if char == b'\x01': # \x01 stands for the byte with hex value 01
            # Do something
            pass
        else:
            # Do something else
            pass

从下面的link我了解到^L是换页的控制字符。 http://jkorpela.fi/chars/c0.html

然后我从下面link找到了这个答案:

我执行了以下代码,它运行良好。

if '\f' in char: