【问题标题】:Using writelines and append to create a file not working使用 writelines 和 append 创建文件不起作用
【发布时间】:2018-05-14 07:45:13
【问题描述】:

我正在尝试创建一个仅将用户名写入文件的文件。我写过:

def main():
    f=open("name.txt","a")
    name=input("name:")
    f.writelines(name)
    f.close()
main()

我想知道我缺少什么才能使其正常工作,因为它不会保存到文本文件中。此外,我正在使用 append,因此我可以多次运行该程序并不断为其添加名称。

【问题讨论】:

  • f.close 应该是一个方法调用f.close()
  • 感谢您的捕获,不幸的是它仍然没有保存
  • 尝试在关闭前进行刷新,如f.flush()
  • f.flush() 仍然不起作用
  • 你有权限直接在当前目录写吗?

标签: python python-3.x file append console.writeline


【解决方案1】:

代码工作正常,但我怀疑为什么它不适合你。

在控制台中,使用input 函数,您需要告诉程序您正在向他发送一个字符串。 当它询问名字时,你不应该输入例如Bernard,而是"Bernard"

如果你想去掉" 字符,你应该使用raw_input

PS:您是否尝试过使用 python 命令在控制台中运行您的程序?您会看到弹出的错误消息。

【讨论】:

  • 即使我输入带有引号的“Bernard”,它仍然无法保存。我也有 python 3,所以 raw_input 只是我的输入
  • 我没有安装 python 3.x。不过,您的脚本在 Python 2.7 中对我有用。尝试使用 f.write(name) 而不是 f.writelines(name)
  • f.write(name) 不幸的是仍然没有保存我的文件
【解决方案2】:

input 用于读取整数。

请改用raw_input。很多人不建议使用输入法。

可能重复:link

【讨论】:

  • 我有 python 3.x 所以 raw_input 对我来说不是一个函数
  • Ops,没看到.. 无论如何,刚刚安装了 python 3.6.3 试一试,你的代码工作正常。有什么例外?或者它只是不创建/保存文件?
  • 它只是不创建和保存文件
  • 您是否尝试为要保存的文件设置路径? (我假设您正在运行 Windows)类似于: path = "C:/Users//Desktop/name.txt" 然后 f = open(path, "a") 否则它将在您正在运行 .py 的目录
猜你喜欢
  • 2020-11-03
  • 2011-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-27
  • 1970-01-01
相关资源
最近更新 更多