如何格式化文本文件的打印输出?

时间:2016-06-01 16:07:26

标签: python python-2.7 python-3.x

我有一个名为animal.txt的文本文件。

1.1  Animal Name  : Dog
     Animal Type  : Mammal
     Fur          : Yes
     Scale        : No

1.2  Animal Name  : Snake
     Animal Type  : Reptile
     Fur          : No
     Scale        : Yes

1.3  Animal Name  : Frog
     Animal Type  : Amphibian
     Fur          : No
     Scale        : No

1.x  Animal Name  : aaaaaa
     Animal Type  : bbbbbb
     Fur          : cccccc
     Scale        : dddddd

我想要的输出是:

Dog     Mammal      Yes
Snake   Reptile     No
Frog    Amphibian   No

我得到的输出是:

Dog Mammal Yes
Snake Reptile No
Frog Amphibian No 

这是我目前拥有的打印出当前输入的代码。

with open('animal.txt', 'r') as fp:
for line in fp:
    header = line.split(':')[0]
    if 'Animal Name' in header:
        animal_name = line.split(':')[1].strip()
        print animal_name,
    elif 'Animal Type' in header:
        animal_type = line.split(':')[1].strip()
        print animal_type,
    elif 'Fur' in header:
        fur = line.split(':')[1].strip()
        print fur
    elif '1.x' in header:
        break

有没有办法格式化或添加到我现有的代码中,可以提供我想要的输出?

1 个答案:

答案 0 :(得分:-1)

在您要打印的项目之间使用\t。因此,打印animal_name\t,,然后通过其余代码打印。

with open('animal.txt', 'r') as fp: for line in fp: header = line.split(':')[0] if 'Animal Name' in header: animal_name = line.split(':')[1].strip() print animal_name\t, elif 'Animal Type' in header: animal_type = line.split(':')[1].strip() print animal_type\t, elif 'Fur' in header: fur = line.split(':')[1].strip() print fur\t elif '1.x' in header: break

相关问题