open()操作文件

Posted come202011

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了open()操作文件相关的知识,希望对你有一定的参考价值。

open()函数用来读取、写文件

参数解释:
r:只读
w:只写,此时进行读,会报错
a:只追加
r+:可读可写
w+:可读可写
a+:可读可写
rb b+wbwb+abab+ 针对二进制文件,单元测试会用到

注意:使用open打开文件时,需要写全路径和文件名。此处因为和当前py文件在同一个目录,所以不用写多余的路径

拓展:怎么移动光标、指定读取的行数

1.r只读模式打开:

传入完整路径,获取文件
file = open("python11.txt") # 默认是以只读模式r打开

读取文件内容
res = file.read()

打印内容
print(res)

2.r+可读可写模式:

1)先写再读:从文件开头覆盖写入,此时光标到了写的内容之后,所以进行读操作时,只会读取原本
内容中未被覆盖的部分
2)先读再写:从文件开头开始读取,读取之后,光标到了文末,此时写操作会在文末继续往后写
不会覆盖原来的内容,相当于追加
3)写入或读取中文时注意编码格式

获取文件:文件内容存在中文时需要使用encoding="utf-8"
file = open("python11.txt", "r+", encoding="utf-8")

打印文件内容
print(file.read())

写入内容
new = file.write("愿有人陪你立黄昏")
print(file.read())

3.w、w+模式:最好不要使用

1)如果文件存在,会先清空文件内容再写入
2)如果文件不存在,会新建
3)读取文件时注意,因为文件路径和名称是写在双引号内的,所以是一个字符串

4.a、a+模式:

1)如果文件存在,指针放在文末,以追加的方式写入
2)如果文件不存在,会新建文件写入

with open("hero.txt", "a+", encoding="utf-8") as file:
file.write(" 冲冲冲")

5.换行写入:在写入的内容前加上

with open("my_hero.txt", "a+") as file:
file.write("the best is yet to come,just waiting")
file.write(" good girl good luck")
file.write(" wish you to be better")

6.写多行

with open("my_hero.txt", "a", encoding="utf-8") as file:
file.writelines([" hello wherever you are", " are you dancing", " 当然不"])

7.按行读取文件:

readlines()读取所有行,返回列表
readline()读取第一行

以上是关于open()操作文件的主要内容,如果未能解决你的问题,请参考以下文章

Python open()函数文件打开读写操作详解

python:open/文件操作

PYTHON open/文件操作

python:open/文件操作

[转载]python:open/文件操作

文件操作