Python 3.3 - 格式问题

Python 3.3 - Formatting Issue

我创建了 2 个程序。第一个写入一个名为 celeb.txt 的文本文件,其中包含用户输入的名人姓名列表。我的第二个代码读取该列表并显示它。

该代码适用于这两个程序,但我似乎无法正确设置格式。我是垂直列出的名字,而不是在一条直线上。我也不想将代码组合成 1 个程序。

好的,这是让用户结束名人名字的第一个代码:

import sys

def main():
myfile = open('celeb.txt', 'w')
celeb = input('Enter celebrity name or Enter to quit ')
if celeb:
    myfile.write(str(celeb)+ '\n')

else:
    sys.exit(0)

myfile.close()
print('File was created and closed')

main()

这是我的代码,它读取 .txt 并输出名称。我不知道如何将名称 1 列在另一个之上而不是在一条直线上。

def main():
myfile = open('celeb.txt', 'r')

line1 = myfile.readline()

myfile.close()

print(line1)

main()

如果您想使用多个名称,请一次使用一个名称:

def get_names(fle):
    with open(fle,"a") as f:   
        while True:
            inp = input("Enter a name or 'q' to quit :")
            if inp == "q":
                return 
            f.write("{}\n".format(inp))

def read_names(fle):
    # open names file 
    with open(fle) as f:
        # iterate over the file 
        # printing a name/line at a time
        for name in f:
            print(name)

或者,如果您在一行中使用多个名称,请让用户在写入之前将名称分开并拆分:

def get_names(fle):
    with open(fle,"a") as f:
        inp = input("Enter names separated by a space :")
        f.writelines(("{}\n".format(n) for n in inp.split()))

def read_names(fle):
    with open(fle) as f:
        for name in f:
            print(name)