如何从文件中读取没有空隙?

时间:2016-03-13 15:35:53

标签: python-3.x

所以我从一个文件中读取/打印出两行,但它们之间存在间隙,但我想但两者都在彼此旁边,我该怎么做。

if GTIN == '86947367':
    fp = open("read_it.txt")
    for i, line in enumerate(fp):
        if i == 1:
            print(line)
        elif i == 2:
            print(line)
    fp.close()

当我运行它时,它会输出:

banana
(space)
(space)
5.00

我想把两个print(line)放在一起,以便输出:

banana 5.00

TEXT FILE:

86947367
banana
5.00

78364721
apple
3.00

35619833
orange
2.00

84716491
sweets
8.00

46389121
chicken
10.00

74937462

2 个答案:

答案 0 :(得分:1)

此:

with open("read_it.txt") as fp:
    next(fp)
    print(next(fp).rstrip(), next(fp))

打印:

banana 5.00

首先打开文件并保证将其关闭with open("read_it.txt") as fp:'。现在,您使用next(fp)跳过第一行。最后,打印两行的内容。您需要使用.rstrip()在第一个打印行的末尾删除换行符。

您的文件对象fp是一个所谓的迭代器。这意味着next(fp)会为您提供下一行。

如果您要打印GTIN的输出:

,这将有效
with open("read_it.txt") as fp:
    GTIN = '86947367'
    show = False
    for line in fp:
        if not line.strip():
            show = False
            continue
        if line.strip() == GTIN:
            show = True
            continue
        if show:
            print(line.rstrip(), end=' ')

打印:

banana 5.00

答案 1 :(得分:0)

with open("read_it.txt") as f: print(' '.join([f.readline().rstrip() for x in range(3)][1:]))