【Python基础】Python文件操作介绍

【Python基础】Python文件操作介绍_第1张图片

文件操作

  • 1.文件的基本操作
    • 1.1 操作文件的套路
    • 1.2 操作文件的函数/方法
    • 1.3 read 方法—— 读取文件
    • 1.4文件指针(知道)--位置指针
    • 1.5 按行读取文件内容
    • 1.6 文件读写案例—— 复制文件

1.文件的基本操作

1.1 操作文件的套路

在 计算机 中要操作文件的套路非常固定,一共包含三个步骤:
1 打开文件
2 读、写文件
– 读 将文件内容读入内存
– 写 将内存内容写入文件
3 关闭文件

1.2 操作文件的函数/方法

• 在Python 中要操作文件需要记住 1 个函数和 3 个方法
序号 函数/方法 说明
01: open 打开文件,并且返回文件操作对象
02: read 将文件内容读取到内存
03: write 将指定内容写入文件
04: close 关闭文件

1.3 read 方法—— 读取文件

• open 函数的第一个参数是要打开的文件名(文件名区分大小写)
– 如果文件 存在,返回 文件操作对象
– 如果文件 不存在,会 抛出异常
• read 方法可以一次性 读入 并 返回 文件的 所有内容
• close 方法负责 关闭文件
– 如果 忘记关闭文件,会造成系统资源消耗,而且会影响到后续对文件的访问
• 注意:read 方法执行后,会把 文件指针 移动到 文件的末尾

# 1. 打开 - 文件名需要注意大小写
file = open("README",encoding=’utf-8)

# 2. 读取
text = file.read() print(text)

# 3. 关闭
file.close()

提示
• 在开发中,通常会先编写 打开 和 关闭 的代码,再编写中间针对文件的 读/写操作!file.read(size),size 参数代表要读取的文件内容大小

1.4文件指针(知道)–位置指针

• 文件指针 标记 从哪个位置开始读取数据
• 第一次打开 文件时,通常 文件指针会指向文件的开始位置
• 当执行了read 方法后,文件指针 会移动到 读取内容的末尾
– 默认情况下会移动到 文件末尾

思考
•	如果执行了一次read 方法,读取了所有内容,那么再次调用read 方法,还能够获得到内容吗?
答案
•	不能
•	第一次读取之后,文件指针移动到了文件末尾,再次调用不会读取到任何的内容

【Python基础】Python文件操作介绍_第2张图片
文本模式下:\n 写入磁盘时,会保存为\r\n
当遇到\r\n 时,读到的是\n

提示
• 频繁的移动文件指针,会影响文件的读写效率,开发中更多的时候会以 只读、只写 的方式来操作文件

写入文件示例
# 打开文件
f = open("README", "w")

f.write("hello python!\n")
f.write("今天天气真好")

# 关闭文件
f.close()

1.5 按行读取文件内容

• read 方法默认会把文件的 所有内容一次性读取到内存
• 如果文件太大,对内存的占用会非常严重
readline 方法
• readline 方法可以一次读取一行内容
• 方法执行后,会把 文件指针 移动到下一行,准备再次读取读取大文件的正确姿势

# 打开文件
file = open("README")

while True:
# 读取一行内容
text = file.readline()

# 判断是否读到内容
if not text: break

# 每读取一行的末尾已经有了一个 `\n` print(text, end="")

# 关闭文件
file.close()
 
注:readline(size)	size 参数代表要读取的文件内容大小

1.6 文件读写案例—— 复制文件

目标
用代码的方式,来实现文件复制过程
【Python基础】Python文件操作介绍_第3张图片

小文件复制
• 打开一个已有文件,读取完整内容,并写入到另外一个文件

# 1. 打开文件
file_read = open("README")
file_write = open("README[复件]", "w")

# 2. 读取并写入文件
text = file_read.read() file_write.write(text)

# 3. 关闭文件file_read.close() file_write.close()

  • 大文件复制
    • 打开一个已有文件,逐行读取内容,并顺序写入到另外一个文件
# 1. 打开文件
file_read = open("README")
file_write = open("README[复件]", "w")

# 2. 读取并写入文件
while True:
# 每次读取一行
text = file_read.readline()

# 判断是否读取到内容
if not text: break
 

file_write.write(text)

# 3. 关闭文件file_read.close() file_write.close()

相关阅读:
链接: Python文件操作

你可能感兴趣的:(Python,python,开发语言,linux)