在Python

时间:2017-03-03 12:31:03

标签: python python-2.7

我试图逐行解析文本文档,这样做我偶然发现了一些奇怪的行为,我认为这是由某种十字符号(☥)的存在引起的。我无法在这里复制真实符号。 在我的代码中,我尝试确定每行的前几个字符中是否存在“+”符号。为了查看这是否有效,我添加了一个包含布尔值和此字符串的print语句。

我的代码的相关部分:

with open(file_path) as input_file:
    content = input_file.readlines()
    for line in content:
        plus = '+' in line[0:2]
        print('Plus: {0}, line: {1}'.format(plus,line))

我可以尝试解析的文件:

+------------------------------
row 1 with some content
+------+------+-------+-------
☥+------+------+-------+------
|  col 1 | col 2 | col 3 ...
+------+------+-------+-------
|_ valu | val |    |   dsf |..
|_ valu | valu | ...

我得到的是输出:

  

加:真的,行:+ ------------------------------

     

Plus:False,line:第1行包含一些内容

     

加:真的,行:+ ------ + ------ + ------- + -------

     

♀+ ------ + ------ + ------- + ------

     

加:假,行:| col 1 | col 2 |第3栏......

     

加:真的,行:+ ------ + ------ + ------- + -------

     

加:假,行:| _值| val | | dsf | ..

     

加:假,行:| _值|价值| ...

所以我的问题是为什么它只打印包含符号的行而没有'Plus:True / False'。我该怎么解决这个问题? 感谢。

1 个答案:

答案 0 :(得分:1)

您所看到的是性别符号。它来自original IBM PC character set,编码为+-----------------------------------+ | Table: Temperature | +---------------------+-------------+ | Date | Temperature | +---------------------+-------------+ | 2017-03-03 15:10:00 | 25 | | 2017-03-03 15:20:00 | 27 | +---------------------+-------------+ ,又称0x0c,又称FormFeed

如果使用这些文本数据解析文本数据,可能会插入它们以指示打印机开始新页面。

来自wikipedia

  

表单提要是一个破坏页面的ASCII控制字符。它强制打印机弹出当前页面并继续打印另一页面。通常,它也会导致回车。换页符字符代码定义为12(十六进制为0xC),可以表示为control + L或^ L.