[Python]文件操作(一)

简介: [Python]文件操作

image.png

前言

系列文章目录

[Python]目录

视频及资料和课件

链接:https://pan.baidu.com/s/1LCv_qyWslwB-MYw56fjbDg?pwd=1234

提取码:1234

1 文件操作的作用

什么是文件?

计算机中的图片、word文档、视频等都是文件。

文件操作包含什么?

打开、关闭、读、写、复制…

⽂件操作的作⽤就是把⼀些内容(数据)存储存放起来,可以让程序下⼀次执⾏的时候直接使⽤,⽽不必重新制作⼀份。

2 文件的基本操作

2.1 文件操作步骤

  1. 打开⽂件
  2. 读写等操作
  3. 关闭⽂件

如果打开文件,不进行关闭,会一直占用和消耗计算机的资源。

注意:可以只打开和关闭⽂件,不进⾏任何读写操作。

2.1.1 打开文件

在python中,使⽤open函数,可以打开⼀个已经存在的⽂件,或者创建⼀个新⽂件,语法如下:

open(name, mode)
  • name:是要打开的⽬标⽂件的文件名(可以包含⽂件所在的具体路径)。
  • mode:设置打开文件的模式(访问模式:只读、写入、追加等)。

注意

w 和 a 模式:如果文件不存在,则创建该文件;如果文件存在,w 模式先清空再写入(用新内容覆盖原内容),a 模式直接在末尾追加。

r 模式:如果文件不存在会报错。

2.1.1.1 打开文件的模式

打开文件时,访问文件的模式可以省略,如果省略,则访问模式为 r (只读)

打开文件的模式带 b,以二进制格式打开文件,打开文件的模式带 +,打开文件可读可写

r w a之外的其他文件打开模式都是基础这三种模式进行扩展,基于r模式的扩展,如果文件不存在会报错,基于w模式的扩展,如果文件不存在,会创建该文件。

文件的指针相当于文件内容的光标

以w模式及其扩展模式打开文件如果不写入内容,则会将文件中原有的内容清空。使用w+或wb+读取文件且不写入内容,则读取出来的内容为空(原有的内容已经被清空)。

以a+或ab+打开文件,读取文件中的内容,读取出来的内容为空( 文件的指针在末尾,读取文件内容从末尾向后读取,读取的内容为空 )。

2.1.1.2 打开文件体验

f = open('test.txt', 'w')
  • 此时的 f 为 open 函数打开的文件对象。
  • test.txt 为打开的文件名。
  • w 以写入的模式打开文件。

2.1.2 文件对象的方法

2.1.2.1 文件的关闭

语法:

文件对象.close()

2.1.2.2 写入

语法:

文件对象.write('需要写入的内容')
# 以写入的模式打开文件 test.txt
f = open('test.txt', 'w')
# 向文件中写入 aaa
f.write('aaa')
# 关闭文件
f.close()

w 模式:如果文件不存在,则创建该文件;如果文件存在,w 模式先清空再写入。

2.1.2.3 读取

read()

语法:

文件对象.read(num)
  • num:表示要从文件中读取的数据长度(单位是字节),如果没有传入num,表示读取文件中所有的数据。
# 打开文件
f = open('test.txt', 'r')
# 没有传入num,表示读取文件中所有的数据。
print(f.read())
# 光标移动到开头
# 因为前面读取全部内容,光标已经挪到末尾
f.seek(0,0)
# num 表示要从文件中读取的数据长度(单位是字节)
# 文件中的内容如果存在换行,则有一个\n占一个字节
print(f.read(5))
# 关闭文件
f.close()

文件 test.txt 中的数据:

readlines()

readlines 可以按照行的方式把整个文件中的内容进行一次性读取,并且返回一个列表,其中每一行的数据为一个元素。

# 打开文件
# 不写打开文件的方式,默认以只读 r 的模式打开文件
f = open('test.txt')
# 读取文件
content = f.readlines()
print(content)
# 关闭文件
f.close()

readline()

readline 一次读取一行的内容。

# 打开文件
# 不写打开文件的方式,默认以只读的模式打开文件
f = open('test.txt')
# 读取文件
while True:
    # 读取一行
    content = f.readline()
    # 如果读取的当前行为空,退出循环
    if not content:
        break
    # 打印读取出的行
    print(content, end='')
# 关闭文件
f.close()

2.1.2.4 移动文件指针

seek()

seek 可以用于移动文件内容的光标指针。

语法:

文件对象.seek(偏移量, 起始位置)
  • 起始位置:
  • 0:文件开头
  • 1:当前位置
  • 2:文件结尾

偏移量:从指定的起始位置开始,偏移的字节数。

# 以a的访问模式打开文件,文件指针在文件内容的末尾
f = open('test.txt', 'a+', encoding='utf-8')
# 文件指针在最后,读取的内容为空
con = f.read()
print(con)
# 将文件指针移动到开头
# 从开始位置开始偏移1个字符
# 由于第一个字符为中文字符,编码为utf8,所以需要偏移三个字节
# utf8中一个中文字符三个字节
f.seek(3, 0)
# 如果从开头位置偏移0个字节可以进行简写
# f.seek(0, 0)
# =>
# f.seek(0)
con = f.read()
print(con)
f.close()




相关文章
|
3月前
|
存储 Python
Python文件操作(1)
【10月更文挑战第17天】
Python文件操作(1)
|
6月前
|
监控 Java 数据处理
文件操作不再难!Python系统编程实战,带你轻松驾驭文件系统与I/O
【7月更文挑战第31天】在 Python 系统编程中, 文件操作与 I/O 管理至关重要。
68 2
|
3月前
|
数据采集 存储 Python
Python文件操作2
【10月更文挑战第18天】
Python文件操作2
|
7月前
|
开发者 Python
Python基础第七篇(Python的文件操作)
Python基础第七篇(Python的文件操作)
|
7月前
|
存储 安全 开发者
文件操作?Python让你轻松搞定!
【6月更文挑战第12天】Python编程中的文件操作至关重要,涉及数据存储和系统交互。通过内置的`open()`函数,开发者可轻松处理文件。以只读模式`'r'`为例,使用`with`语句打开并读取文件内容;写入文件则用`'w'`或`'a'`模式。文件对象还支持高级功能,如文件指针移动,允许随机访问。掌握这些技能能提升开发效率。
41 0
|
4月前
|
存储 Python
Python文件操作
Python文件操作
|
4月前
|
存储 安全 Python
30天拿下Python之文件操作
30天拿下Python之文件操作
36 1
|
4月前
|
监控 安全 Java
文件操作不再难!Python系统编程实战,带你轻松驾驭文件系统与I/O
【9月更文挑战第13天】在Python系统编程中,文件操作与I/O管理至关重要。本文通过五个实战案例分享最佳实践:高效遍历文件系统、优雅处理文件读写、利用缓冲机制优化性能、并行处理文件加速任务以及异常处理确保程序稳健。使用pathlib、上下文管理器及concurrent.futures等工具,助你轻松掌握Python文件系统与I/O操作,提升编程效率和项目质量。 示例代码展示了如何使用pathlib遍历目录、with语句安全读写文件、控制缓冲区大小、并行处理多个文件以及捕获异常保证程序稳定运行。通过这些技巧,你将能够在实际项目中更加高效地管理和操作文件。
52 6
|
5月前
|
IDE 测试技术 开发工具
Python接口自动化测试框架(基础篇)-- 不只是txt的文件操作
本文介绍了Python中的文件操作方法,包括使用open()打开文件、close()关闭文件、read()读取内容、readline()读取单行、readlines()读取多行、write()写入内容以及writelines()写入多行的方法。同时,探讨了文件操作模式和编码问题,并扩展了上下文管理器with...as的使用,以及对图片和音频文件操作的思考和练习。
41 1
Python接口自动化测试框架(基础篇)-- 不只是txt的文件操作
|
3月前
|
Java 程序员 Python
【Python】文件操作
【Python】文件操作
26 0