
本文共 2096 字,大约阅读时间需要 6 分钟。
1.文件的概念
计算机的文件就是,存储在某种长期存储设备上的一段 数据。
长期存储设备:硬盘、U盘、光盘、移动硬盘…
CPU使用数据时。首先将磁盘中的数据,加载到内存。
文件的存储方式:文本文件(可以使用文本编辑器查看内容)、二进制文件(需要专门软件打开)。上述文件,都是以二进制的方式保存在磁盘上。
2.文件的基本操作
在计算机中操作文件有三个步骤:
1.打开文件 2.读写文件。读 将文件从磁盘加载到内存;写 将文件内容加载到磁盘。 3.关闭文件在python中的1个函数和3个方法:
函数/方法 | 说明 |
---|---|
open | 打开文件,并且返回文件操作对象 |
read | 将文件内容读取内存 |
write | 将指定内容写入文件 |
close | 关闭文件 |
open函数负责打开文件,若文件存在,返回文件对象;不存在,自动创建新文件。
read/write/close三个方法都需要通过文件对象来调用。(1)read 方法
open 函数的第一个参数是要打开的文件名。 read 方法可以一次性读入并返回文件中的所有内容。 读取完成后,一定记得close文件,否则会造成系统资源消耗。# 1.打开文件file = open("README")# 2.读取文件内容text = file.read()print(text)# 3.关闭文件file.close()
注意:
文件指针标记从哪个位置读取数据。第一次打开文件时,文件指针通常指向文件开始的位置。当执行了read方法后,文件指针会移动到读取内容的末尾。
因此,执行了一次read后,再次调用read,不能获取内容。
(2)readline 方法
read 方法会一次性读取文件的全部内容,文件太大,占用内存严重。
readline 方法可以一次性读取一行内容。方法执行后,文件指针移动到下一行。file = open("README", "r")while True: text = file.readline() # 逐行读取,空白行读取不到内容 # 判断是否读取到内容 if not text: break print(text)file.close()
(3)open方法
语法:
f = open("文件名", "访问方式")
若不传入访问方式,默认以 只读方式 打开文件。
访问方式 | 说明 |
---|---|
r | 只读 |
w | 只写,会覆盖之前的内容 |
a | 追加 |
# 1.打开文件file = open("README", "a")# 2.读取文件内容text = file.write("123hello")# 3.关闭文件file.close()
(4)文件读写案例-----复制文件
小文件的复制:打开一个已有文件,读取完整内容,写入到另一个文件。关闭两个文件。
# 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[复件2]", "w")# 2.读、写while True: text = file_read.readline() # 读取一行内容 if not text: break else: file_write.write(text) # 写入一行内容# 3.关闭文件file_read.close()file_write.close()
3.文件的常用管理操作
例如:创建、重命名、删除、改变路径、查看目录内容…
在python中,如果希望通过程序实现上述功能,需要导入 os 模块。
文件操作
示例 | 说明 |
---|---|
os.rename(源文件名, 目标文件名) | 重命名文件 |
os.remove(文件名) | 删除文件 |
import osos.rename("README[复件]", "readme[复件]")os.remove("README[复件1]")
4.文本文件的编码格式
常见的编码:ASCII编码、UNICODE编码
python2.x 默认使用ASCII编码,不支持中文
python3.x默认使用UTF-8编码,支持中文ASCII编码:计算机中只有256个ASCII字符。一个ASCII字符,在内存中占用1个字节的空间。1个字节,即8个二进制位,一共有256种排列组合。能够涵盖英文和数字等,但字符数量太少,不能支持中文。
UTF-8编码(一种常见的UNICODE编码格式):计算机中使用1-6字节来表示一个UTF-8字符,可以涵盖地球上几乎所有的文字。汉字大多数使用3个字节。
发表评论
最新留言
关于作者
