编码格式介绍
常见字符的编码格式
文件读写原理
- 计算机读取数据满足队列原理:先进先出
- 在.py的文件中编写程序后,代码在解释器中运行(即pycharm),在解释器运行时会调用操作系统的资源,从而可以操作磁盘上的文件
- 操作流程:
python操作文件—>打开/新建文件—>读/写文件—>关闭资源
文件读写操作(OA操作)
创建文件对象:使用内置函数open()
file = open ( filename [ , mode , encoding ] )
file为被创建的文件对象;filename为要创建/打开的文件名称;
mode为将打开模式,r表示读,w表示写;encoding为默认文件格式中字符的编写格式为gbk
注意: 文件的字符格式应该是ANSI,否侧报错
file=open('a.txt','r')
print(file.readlines())
file.close()
常用文件打开模式(mode)
mode | 描述 |
---|
r | 只读模式打开文件,文件指针将会放在文件的开头 |
w | 只写模式打开文件,文件不存在则创建,文件存在则文件指针将会放在文件的开头 |
a | 追加模式打开文件,文件指针将会放在文件的开头,若文件存在,则在文件末尾追加内容,文件指针在原文件末尾 |
b | 二进制方式打开文件,不能单独使用,需与其它模式一起使用,rb或wb |
+ | 读写方式打开文件,不能单独使用,需与其它模式一起使用,a+ |
file=open('b.txt','w')
file.write('helloworld')
file.close()
file=open('b.txt','a')
file.write('Python')
file.close()
文件对象的常用方法
方法名 | 说明 |
---|
read( [ size ] ) | 从文件中读取size个字节或字符内容,若省略 [ size ],则读取文件的所有内容 |
readline ( ) | 从文本文件中读取一行内容 |
readlines ( ) | 把文本文件的每一行作为独立的字符串对象,并将这些对象放入列表返回 |
write ( str ) | 将字符串内容写入文件 |
writelines ( s_list ) | 将字符串列表 s_list写入文本文件,不添加换行符 |
seek ( offset [,whence ] ) | 把文件指针移动到新的位置,offset表示相对于whence的位置 |
| offset:为正表示往结束方向移动,为负表示正往开始方向移动 |
| whence=0:从文件头开始计算(默认值);whence=1:从当前位置开始计算;whence=1:从文件尾开始计算 |
tell ( ) | 返回文件指针当前位置 |
flush ( ) | 把缓冲区的内容写入文件,但不关闭文件 |
close ( ) | 把缓冲区的内容写入文件,同时关闭文件并释放文件对象相关资源 |
file=open('b.txt','a',encoding='UTF-8')
lst=['A','go','to']
file.writelines(lst)
file.close()
with语句(上下文管理器)
作用:自动管理上下文资源,不论什么原因跳出with块,度能确保文件正确关闭,以此达到释放资源的目的
with open ( ' 文件名 ' , ‘ r ’ ) as file: #相当于file=open ( ' 文件名 ' , ‘ r ’ )
with 语句体
目录操作
- os模块是python内置的与操作系统功能和文件系统相关的模块。该模块中的语句执行结果通常和操作系统有关,在不同的操作系统上,得到的结果也可能不同。
- os模块和os.path模块用于对目录或文件进行操作
import os
os.startfile('D:\\WeChat\\WeChat.exe')
os模块操作目录相关函数
函数 | 描述 |
---|
getcwd() | 返回当前的工作目录 |
listdir(path) | 返回指定路径下的文件和目录信息 |
mkdir(path[,mode]) | 创建目录 |
makedirs(path1/path2…[,mode]) | 创建多级目录 |
rmdir(path) | 删除目录 |
removedirs(path1/path2,…) | 删除多级目录 |
chdir(path) | 将path设置为当前工作目录 |
os.path模块操作目录相关函数
函数 | 描述 |
---|
abspath(path) | 获取文件或目录的绝对路径 |
exists(path) | 判断文件或目录是否存在,若存在返回True,否则返回False |
join(path,name) | 将目录和目录/文件名拼接起来 |
splitex() | 分离文件名和扩展名 |
basename(path) | 从一个目录中提取文件名 |
dirname(path) | 从一个路径中提取文件路径,不包括文件名 |
isdir(path) | 判断是否为路径 |