【问题标题】:How to format the file output Python 3如何格式化文件输出 Python 3
【发布时间】:2023-04-03 19:50:01
【问题描述】:

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

name = input("")

并且名称使用相同。 我已经像这样将年龄输出到文件中:

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

我希望能够将其格式化为文件中的格式:

James42Brian20Charlie56

我想让它变成这样:

James 42
Brian 20
Charlie 56

我该怎么做?

【问题讨论】:

  • 好的,让我们这样做:您的问题缺少您编写的代码,因此我们可以对其应用所需的更改。您还可以将所需的输出格式化为代码,以使其更加可见。
  • 从字面上看,我的代码很小。它要求用户输入姓名和年龄,然后输出到文件。我确实将代码作为文本添加到我的问题中,因为我不知道如何将其添加为代码(ios 不支持某些功能)
  • @Gordon 添加为代码在新行上缩进 4 个空格。您还可以使用反引号(与 qwerty 键盘上的波浪号共享)来内联 code
  • 我删除了关于被否决的cmets,但如果你想停止,那么你可以阅读asking help的各种主题

标签: python


【解决方案1】:

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

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

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

也就是说,如果没有看到您编写的实际代码,很难说其他话。

【讨论】:

  • 你是对的。使用 string.format 将是这里的最佳选择,如其他答案所示。
【解决方案2】:

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

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

【讨论】:

  • 现在说f.close中的f语法不正确??
  • 您可能应该使用'a' 标志打开文件,这样您就可以附加新写入的行,或者如果您想覆盖以前写入的行,也可以使用'w' 标志。
  • 您遇到的具体错误是什么,您使用的具体代码是什么?您可能有错字。
【解决方案3】:
name = input("")
age = input("")
f = open('UserDetails','a')
f.write ("{0} {1}\n".format(name, age))
f.close()

【讨论】:

  • 这是python 2的语法; OP指定python 3
  • 我试过了,它开始声称 f.close 中的 f 语法无效??
  • 把close后面的空格去掉就行了。
  • 虽然此代码可以回答问题,但提供有关它为什么和/或如何回答问题的额外上下文将显着提高其长期价值。请edit你的答案添加一些解释。
【解决方案4】:
f = open('UserDetails','a')
name = input("Name? ")
f.write ("{} ".format(name))
age = input("Age? ")
f.write ("{}\n".format(age))
f.close ()

我会做这样的事情
您可以在需要的地方放置一个 while 循环

如果您想添加另一个人,您可以多次运行它

【讨论】:

    【解决方案5】:

    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))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多