Python3.5中,open()不同模式如r、r+ 、w+、w、a、a+有何不同?
r 只能读
r+ 可读可写 不会创建不存在的文件 从顶部开始写 会覆盖之前此位置的内容
w+ 可读可写 如果文件存在 则覆盖整个文件 不存在则创建
w 只能写 覆盖整个文件 不存在则创建
a 只能写 从文件底部添加内容 不存在则创建
a+ 可读可写 从文件顶部读取内容 从文件底部添加内容 不存在则创建
1 回答9.4k 阅读✓ 已解决
2 回答5.1k 阅读✓ 已解决
2 回答3.4k 阅读✓ 已解决
3 回答4.4k 阅读
2 回答2.4k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
但是实验发现,这里的
r+ 可读可写 不会创建不存在的文件 从顶部开始写 会覆盖之前此位置的内容
不完整。test.in的内容:
执行以下:
文件的内容变成了:
而:
文件内容则变成了:
因此,正确的表述应为:
r+可读可写,不会创建不存在的文件。如果直接写文件,则从顶部开始写,覆盖之前此位置的内容,如果先读后写,则会在文件最后追加内容。