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)
我创建了 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)