运行一个从.txt打印行的python程序,得到一个随机无打印

时间:2018-09-28 15:30:20

标签: python python-3.x

def char_by_char(in_one):

    if in_one == "1":
        file = open("t1.txt")
        lines = file.readlines()
        file.close()
        for line in lines:
            line = line.strip()
            print(line)

def main()
    first_file = input(print("Enter a file to compare(1-6): "))
    char_by_char(first_file)

if __name__ == '__main__':
    main()

这是我的代码,运行后在打印字符串后输出随机None,但仍接受输入并打印我的文本文件的行。我似乎无法弄清楚这些都不是从哪里来的。

2 个答案:

答案 0 :(得分:4)

input自身打印其参数;在评估了对None的不必要调用之后,您将值print作为参数传递。

first_file = input("Enter a file to compare(1-6): ")

答案 1 :(得分:0)

input函数也会打印到STDOUT,因此也会打印print("Enter a file..")None返回的值。摆脱输入中多余的print调用,并将字符串直接传递到输入中。