【问题标题】:Can't read a file with w+ [duplicate]无法使用 w+ 读取文件 [重复]
【发布时间】:2021-11-07 20:14:47
【问题描述】:

这是代码

doc = open(path, 'w+')
lines = []
i = 0
for line in doc:
    lines.append(line)
    i += 1
    if i == 1:
        money = int(line)
print(lines)

这就是回报

[]

文本文件包含一行“1000”

我尝试通过用 r 打开它,然后关闭它,然后用 w 再次打开它来解决这个问题。但由于某种原因,当我尝试编写任何内容时,它只会删除文件中的所有文本。

【问题讨论】:

  • 如果要追加,请使用aw 将覆盖内容
  • 如果你想阅读,那么你需要使用r
  • 你能用 append 读取文件吗?我只是假设你做不到。

标签: python


【解决方案1】:

w+ 打开它会用一个新的空文件覆盖现有文件(然后你可以写入和读取)...

你可能想用a+(追加)打开它,这会将指针放在文件的末尾,然后在读取之前你需要使用open_file.seek(0)(转到开头文件)

【讨论】:

  • 感谢您的帮助。我没有意识到有一个光标。我是 python 新手。
  • 当然有游标——不然for line in doc:怎么能每次都给你换行呢?
猜你喜欢
  • 2015-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多