我有2个我已创建的程序。第一个文件写入一个名为celeb.txt
的文件文件,其中包含用户输入的名人姓名列表。我的第二个代码读取该列表并显示它。
该代码适用于这两个程序,但我似乎无法使我的格式正确。我是垂直列出的名字而不是直线。我也不想将代码合并到一个程序中。
好的,这是第一个让用户结束名人姓名的代码:
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()
答案 0 :(得分:0)
如果您想要多个名字,请一次取名:
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)