文件
j计算机的文件,就会存储在某种长期储存设备上的一段数据
文件的作用:将数据长期保存下来,在需要的时候使用
文件的存储方式:文件是以二进制的方式保存在磁盘上的
文件的基本操作
计算机中操作文件的套路非常笃定
1.打开文件
2.读、写文件
读将文件内容读入内存
写将内存内容写入文件
3.关闭文件
操作文件的函数/方法
。open函数负责打开文件,并且返回文件对象
。read/write/close三个方法都需要通过文件对象来调用
read方法——读取文件
open函数的第一个参数是要打开的文件名(文件名区分大小写)
。如果文件存在,返回文件操作对象
。如果文件不存在,会抛出异常
read方法可以一次性读入并返回文件的所有内容
close方法负责关闭文件
。如果忘记关闭文件,会造成系统资源消耗,而且会影响到后续对文件的访问
注意:方法执行后,会把文件指针移动到文件的末尾
示例:
# 1.打开 - 文件名需要注意大小写 file = open("文件名") # 2.读取 text = file.read() # 3.关闭 file.close()
提示:
。在开发中,通常会先编写打开和关闭的代码,再编写中间针对文件的读/写操作
文件指针
。文件指针标记从哪个位置开始读取数据
。第一次打开文件时,通常文件指针会指向文件的开始位置
。当执行了read方法后,文件指针会移动到读取内容的末尾
。默认情况下会移动到文件末尾
第一次读取之后,文件指针移动到了文件末尾,再次调用不会读取到任何的内容
打开文件的方式
open函数默认以只读方式打开文件,并且返回文件对象
语法如下:
f = open("文件名","访问方式")
提示:
频繁的移动文件指针,会影响文件的读写效率,开发中风度哦的时候会以只读、只写的方式来操作文件
按行读取文件的内容
。read方法默认会把文件的所有内容,一次性读取到内存中,如果文件太大,对内存的占用会非常严重
readline方法
readline方法可以一次读取一行内容,方法执行后,会把文件指针移动到下一行,准备再次读取
示例:
file = open("文件名") while True: text = file.readline() # 判断是否读取到内容 if not text: break print(text) file.close()
文件读写案例——复制文件
。打开一个已有的文件,读写完整内容,并写入到另外一个文件
示例:
# 1.打开两个文件 file1 = open("源文件") file2 = open("附件", "w") # 2.读、写 text = file1.read() file2.write(text) # 3.关闭 file1.close() file2.close()
大文件复制
示例:
# 1.打开两个文件 file1 = open("源文件") file2 = open("附件", "w") # 2.读、写 while True: # 读取一行代码 text = file1.readline() # 判断是否读到内容 if not text: break file2.write(text) # 3.关闭 file1.close() file2.close()
文件/目录的常用管理操作
。在终端/文件浏览器中可以执行常规的文件/目录管理操作,例如:
。创建、重命名、删除、改变路径、查看目录内容
。在Python中,如果希望通过程序实现上述功能,需要导入OS模块
提示:文件或者目录操作都支持相对路径和绝对路径
import os os.rename("原文件名", "新文件名")
os.remove("123.txt")
Unicode字符串
。在Python 2.x中,即使指定了文件使用UTF-8的编码格式,但是在遍历字符串时,仍然会以字节为单位遍历字符串
。要能够正确的遍历字符串,在定义字符串时,需要在妇产的引号前,增加一个小写字母 u,告诉解释器这是一个Unicode字符串