Python基础课第十六节课记录---文件

mac2025-10-24  6

文件

1. 文件的打开2. 读取并关闭文件3. 较大文件的读取4. 其他的读取方式5. 文件的写入6. 二进制文件7. 读取文件的位置8. 文件的其他操作9. 小结

通过Python来对计算机中的各种文件进行增删改查的操作。 I/O(Input/Output)

1. 文件的打开

操作文件的步骤:

打开文件对文件进行各种操作(读、写)关闭

open(file, mode=‘r’, buffering=None, encoding=None, errors=None, newline=None, closefd=True) 使用open()函数来打开一个文件 参数: file是要打开文件的名字(路径),如果目标文件和当前文件在同一级目录下,则直接使用文件名即可打开。 返回值: 返回的是一个对象,这个对象就是代表了当前打开的文件。

2. 读取并关闭文件

读取文件 read()方法来读取文件的内容,它会将内容全部保存到一个字符串返回

关闭文件 close()方法用来关闭文件

with … as语句 在with语句中可以直接使用file_obj来操作文件,此时这个文件只能在with中使用,一旦with结束文件则会自动close()关闭。

标准的一个操作文件的代码

file_name = 'xxx' try: with open(file_name) as file_obj: pass except FileNotFoundError: pass

3. 较大文件的读取

通过read()函数来读取文件的内容。

调用open()来打开一个文件,可以将文件分成两种类型: ·一种是纯文本文件(使用utf-8等编码写的文本文件) ·一种是二进制文件(图片、音频、PPT等文件)

open()这个函数打开文件时,默认是以文本文件的形式打开的,处理文本文件时,有时候需要制定文件的编码。

如果直接调用read()这个函数,它会将文本内容全部读取,如果要读取的内容文件比较大的情况,会一次性将文件的内容加载到内存中,容易导致内存泄漏。

read()函数可以接收一个size作为参数,该参数用来指定读取的字符的数量,默认值是-1,它会读取文件中所有的字符。

可以为size指定一个值,这样read()函数会读取指定数量的字符,每一次读取都是从上次读取到的位置开始读取,如果字符的数量小于size,则会读取剩余所有的字符。

file_name = r'C:\Users\lenovo\Desktop\新建文本文档.txt' content = '' with open(file_name, 'rt', encoding='utf-8') as file_obj: while True: r = file_obj.read(100) if not r: break content += r print(content)

4. 其他的读取方式

**readline()**可以用来读取一行内容 **readlines()**该方法也是用于一行一行的读取内容,它会将读取到的内容封装到列表中返回

file_name = 'venv\demo1.txt' with open(file_name, encoding='utf-8') as file_obj: r = file_obj.readline() print(r) file_name = 'venv\demo2.txt' with open(file_name, encoding='utf-8') as file_obj: r = file_obj.readlines() print(r[1])

5. 文件的写入

open()中有一个mode参数,默认为’r’,表示只能读取文件,而读取文件是不能向文件中去写入的,使用open()函数打开文件时需要制定打开文件所要的操作(读、写、追加),如果不指定操作类型,默认是以读取文件。

write():向文件中写入内容,如果要操作的是一个文本文件的时候,需要我们传递一个字符串作为参数

r:表示只读。 w:表示可以写 所以我们可以使用w来写入文件,如果文件不存在会创建文件,如果文件存在则会覆盖原文件的内容。 a:表示追加内容 如果文件不存在会创建文件,如果文件存在则会像文件中追加内容。 +:表示操作符增加功能。 r+:表示既可读又可写,文件不会报错。 x:表示创建文件,如果文件不存在就创建,如果存在就报错。

6. 二进制文件

读取模式: ‘t’:读取取文本文件(默认值) ‘b’:读取二进制文件

读取文本文件时,size是以字符为单位 读取二进制文件时,size是以字节为单位

file_name = r'C:\Users\lenovo\Desktop\文件课堂源码\Kalimba.mp3' with open(file_name, 'rb') as file_obj: r = 1024*100 new_name = '好听.mp3' with open(new_name, 'wb') as new_obj: while True: content = file_obj.read(r) if not content: break new_obj.write(content)

7. 读取文件的位置

tell():方法用来检查当前读取的位置 seek():可以修改当前读取的位置 参数: 0:从头开始(默认) 1:从当前位置 2:从最后位置计算

8. 文件的其他操作

os库

listdir() 获取当前目录结构 os.chdir(‘c:/’) 切换盘符 os.getcwd() 获取当前所在的目录 os.mkdir(‘abc’) 在当前目录创建 os.rmdir(‘abc’)删除目录

9. 小结

这堂课感觉听的有点儿迷,课后整理笔记过后还是不能记住,自己也敲了几遍了,看来过一段时间还得再看一看这些内容。加油,继续努力!

最新回复(0)