从文本文件中读取同一行上的整数

时间:2015-11-21 22:40:40

标签: python-3.x printing

初学者需要一些帮助

我的代码如下。我试图让整数打印在同一行。我正在从名为“numbers.txt”的文本文件中读取它们。任何帮助将不胜感激。

def main():
    num_file = open('numbers.txt', 'r')
    for num in (num_file):
        print(num, end='')
    num_file.close()
    print('End of file')

main()

这是我目前的输出:

enter image description here

1 个答案:

答案 0 :(得分:1)

如同您使用for num in (num_file)一样逐行阅读文件时,行尾字符不会被剥离,并且包含在每行中并存储在变量num中。这就是为什么即使您设置end='',数字也会继续在单独的行上打印。

除了设置rstrip之外,您还可以使用end=''删除换行符。此外,您的for循环中num_file周围的括号不是必需的。

def main():
    num_file = open('numbers.txt', 'r')

    for num in num_file:
        print(num.rstrip('\n'), end='')

    num_file.close()
    print('End of file')

main()

总结找到的数字:

def main():
    num_file = open('numbers.txt', 'r')
    total = 0

    for num in num_file:
        print(num.rstrip('\n'), end='')
        try:
            total = total + int(num)
        except ValueError as e:
            # Catch errors if file contains a line with non number
            pass

    num_file.close()
    print('\nSum: {0}'.format(total))
    print('End of file')

main()