Python文件操作

2023-12-20 20:49:37

文件操作

文件编码

编码指的是把文字翻译成二级制的一个过程,有许多不同的对应规则,也就有许多不同的编码规范

例如,UTF-8,GBK,Big5,Unicode等

所谓乱码就是使用了错误的编码方式打开了文件的内容(大概),因此我们也可以选择编码的方式

目前UTF-8是全球通用的编码格式,一般来说文件内容都是UTF-8的

文件的打开

文件可以分为许多类别,在不同操作系统下文件的类型也不同,我们以常见的Windows系统为例,他以后缀名区分文件的类型,例如txt为文本文件,mp4为视频文件,exe为可执行文件等众多类别

对于文件的操作也有,打开,关闭,读写,执行等

我们以最简单的txt文本文件为例,对文件的操作就是,打开,读写,关闭

在Python中,我们使用open函数可以打开一个已经存在的文件,或者创建一个新的文件,语法如下

open(name,mode,encoding)

这里的name是文件名,mode是表示打开文件的方式即访问模式,对应着只读,写入,追加等,encoding表示文件的编码格式

例如

file = open('text1.txt','r',encoding='UTF-8')

这里需要注意的是,encoding的传参位置不是第三位,因此需要使用关键字传参

这里的file实际上是一个文件对象(object),对象是一种特殊的可以自定义的数据类型,在下一部分我们会进行详解

这里我们详细介绍一下mode的内容

mode有三种常用的基础访问模式

‘r’ 表示以只读的方式打开文件,也是默认的模式

‘w’ 表示以写入的方式打开文件,如果文件不存在则会创建新文件,如果文件已经存在,会从头开始写入,原来存在于文件中的内容将会清空

‘a’ 表示以追加方式打开文件,与’w’类似,只是如果文件存在,则会写入到原有内容之后

文件的读取
read() 方法

语法:文件对象.read(num)

num表示从文件中读取的数据的长度,可以不传入,默认读取所有数据

readlines() 方法

语法与read()类似,与之不同的是他将每一行作为列表的每一个元素进行读取,之后进行返回

例如

file = open("text.txt")
print(file.readlines())
# 结果是['Hello World!\n','你好,世界!']
file.close() # 关闭文件
readline() 方法

这里与上面不同的是只读取一行的内容,因此我们可以通过for循环对整个文件进行读取

文件关闭

close() 方法用于关闭文件,如果在文件使用完毕之后不关闭,他将会一直被占用

with open() 语法

with open("text.txt",'r') as f:
    f.readlines()
    print(f)

在这个代码块结束之后,文件会自动关闭,避免遗忘

文件写入

f = open('text.txt','w')

f.write('hello!')

f.flush()

f.close()

注意,在执行到write语句时,内容并没有真正全部写入到文件中,而是会积攒到程序的内存中,也称之为缓冲区,直到调用flush的时候,才会真正写入文件,因为频繁访问硬盘,会导致运行效率不高

文件追加

与文件写入基本一模一样,只需要对打开方式进行改变即可,同样调用write()方法

文章来源:https://blog.csdn.net/ye_yumo/article/details/135116297
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。