【发布时间】:2018-12-06 20:49:24
【问题描述】:
现在我正在尝试使用 Python 2 读取和解析文件。文件的创建者在终端中键入了一堆行,每行包含 (Ctrl A)s,并将这些行复制到文本文件中.所以文件中的行看起来像“(something)^A(something)”。当我在 python 中使用 readlines() 函数读取文件时,无法识别那些“^A”字符串。
我尝试使用 io.open 和 codecs.open 并将编码设置为 UTF-8,但“^A”显然不是 UTF-8 字符串。有谁知道如何使用 python 从文件中读取这些特殊的控制命令字符串?非常感谢!
【问题讨论】:
-
一般来说,鼓励在本网站上发布您的代码。否则很难告诉你哪里出错了。您需要以二进制读取模式打开文件,读取字节并检查每个字节,使其与 Ctrl-A 的 ascii 代码匹配(我相信它的值是 1)。
-
你知道我应该如何在python中按字节读取并匹配值1吗?喜欢使用哪个功能?
-
控制字符是不可见字符,所以终端使用^A作为视觉表示。如果有控制字符,您不想实际查找 ^A 。但是很难说出文件中实际存储的内容。我建议使用以特殊方式显示不可见字符的编辑器来确保。然后就可以用各种escaping methods来表示不可见的字符,并寻找它们。
-
“无法识别”是什么意思?你有例外吗?如果是这样,它是什么,代码是什么样的?
-
我的意思是“^A”无法读取,变得不可见。
标签: python command-line terminal ctrl