如何格式化文件输出Python 3

时间:2016-04-27 20:40:42

标签: python

我制作了一个代码,询问用户姓名和年龄。它询问年龄并使用以下方式存储:

name = input("")

名称使用相同的名称。 我输出的年龄如下:

f = open('UserDetails')
f.write (name)
f.write (age)
f.close ()

我希望能够将其格式化为文件,如下所示:

James42Brian20Charlie56

我想让它像:

James 42
Brian 20
Charlie 56

我该怎么做?

5 个答案:

答案 0 :(得分:1)

string.format与换行符一起使用,如下所示:

f = open('UserDetails', 'a')
f.write("{0} {1}\n".format(name, age))
f.close()

答案 1 :(得分:0)

我没有测试过这个,但是你尝试过这样的事吗?

separator = ' '
f = open('UserDetails') 
f.write (name + separator) 
f.write (str(age) + separator) 
f.close ()

它可能无法准确显示您的需求,但想法是使用字符串连接并查看是否有效(包括新行符号'\ n'')。

那就是说,如果没有看到你写的实际代码,很难说其他的东西。

答案 2 :(得分:0)

name = input("")
age = input("")
f = open('UserDetails','a')
f.write ("{0} {1}\n".format(name, age))
f.close()

答案 3 :(得分:0)

f = open('UserDetails','a')
name = input("Name? ")
f.write ("{} ".format(name))
age = input("Age? ")
f.write ("{}\n".format(age))
f.close ()

我会做这样的事情 您可以在需要的地方放置一个while循环 OR
如果您想添加其他人,可以多次运行

答案 4 :(得分:0)

with open as语法比需要手动关闭文件更受欢迎,这将循环直到您终止脚本。

with open("UserDetails", "a") as f:
    while True:
        name = input("name: ")
        age = int(input("age: "))
        f.write("{0} {1}\n".format(name, age))