文件操作
文件操作是使用Python中,跟现实连接的第一步,也是基础所在,要学会应用,才能慢慢有眼见为实的感觉。
- 文件的操作作用
- 文件读写 文件名称 文件的路径
- 文本文件(data.txt) 字符串数据 字节文件(视频,音乐,图片) 二进制数据
- 文件的基本操作
- 打开open(name,mode) open(file=,mode=,encoding=)
- open(file=文件所在位置,mode=操作文件的模式,encoding=以什么编码读取文件 二进制数据不需要设置编码)
- open函数,可以打开一个已经存在的文件,或者创建一个新的文件
- 内容
- name :是要打开的目标文件名的字符(可以包含文件所在的具体路径)
- 位置
- 绝对路径(一个完整的路径) #F: 所在的盘符 最一个是文件 其他的都是文件夹
- 相对路径(基于目前的路径获取)
-
../返回上一级 ..\是返回上一个文件夹有几层就可以加几个..\
- 位置
- mode:设置打开文件的模式(访问模式):制度、写入、追加等。
- 12种模式
- 读入
- r read以只读⽅式打开⽂件。⽂件的指针将会放在⽂件的开头。这是默认模式。 r 只读不支持写入 如果文件不存在就报错
- rb 以⼆进制格式打开⼀个⽂件⽤于只读。⽂件指针将会放在⽂件的开头。这是默认模式。
- r+ 打开⼀个⽂件⽤于读写。⽂件指针将会放在⽂件的开头。
- rb+ 以⼆进制格式打开⼀个⽂件⽤于读写。⽂件指针将会放在⽂件的开头。
- 写入
- w write打开⼀个⽂件只⽤于写⼊。如果该⽂件已存在则打开⽂件,并从开头开始编辑,即原有内容会被删除。如果该⽂件不存在,创建新⽂件。
- wb 以⼆进制格式打开⼀个⽂件只⽤于写⼊。如果该⽂件已存在则打开⽂件,并从开头开始编辑,即原有内容会被删除。如果该⽂件不存在,创建新⽂件。
- w+ 打开⼀个⽂件⽤于读写。如果该⽂件已存在则打开⽂件,并从开头开始编辑,即原有内容会被删除。如果该⽂件不存在,创建新⽂件。
- wb+ 以⼆进制格式打开⼀个⽂件⽤于读写。如果该⽂件已存在则打开⽂件,并从开头开始编辑,即原有内容会被删除。如果该⽂件不存在,创建新⽂件。
- 追加
- a append打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。也就是说,新的内容将会被写⼊到已有内容之后。如果该⽂件不存在,创建新⽂件进⾏写⼊。
- ab 以⼆进制格式打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。也就是说,新的内容将会被写⼊到已有内容之后。如果该⽂件不存在,创建新⽂件进⾏写⼊。
- a+ 打开⼀个⽂件⽤于读写。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。⽂件打开时会是追加模式。如果该⽂件不存在,创建新⽂件⽤于读写。
- ab+ 以⼆进制格式打开⼀个⽂件⽤于追加。如果该⽂件已存在,⽂件指针将会放在⽂件的结尾。如果该⽂件不存在,创建新⽂件⽤于读写。
- 读入
- + 具备读和写的能力
- 加在了开头并覆盖原来对应的字节长度,例如一个汉字占了两个字符。
- 12种模式
-
encoding 通常可以支持中文的可以使用utf-8 gbk gb2312编码
- name :是要打开的目标文件名的字符(可以包含文件所在的具体路径)
- 读写
-
读入read r
-
只读不支持写入 如果文件不存在就报错,会报错,没有此文件的目录
- read(num) 读取数据 num不写默认读取全部数据,写了就读取指定大小的字节 ,但光标移动到数据最后
- num 写几个数就读取几个字节
- 写的数字超过一行的字节时,还要把一行结尾不显示的\n包含进去,因为\n占一个字节。
- 需要打印输出内容,才能显示内容,如果对read连续读取第二次就无法读取数据了,因为第一次读取数据后,光标已经移动到最后了
- readlines() 将里面的数据按照行读取,并且保存到列表中
- 如果要对文件内容操作,需要用变量对读取出的数据赋值,例如readlines()
- 虽然文件关闭,但文件内容已经读取到变量下,对变量进行修改
- readline 运行一次读取一行
- 连着打印就挨个行输出
- 读取中存在空行是因为,程序内部设定中读取后有换行符\n
- 还有对打开函数中,文件格式进行设置,一致才能打开读取,l例如:(,,encoding='UTF=8')
-
- 写入
-
write w 覆盖写
- 只写 操作文件的时候清楚文本所有内容
- writelines 将列表中的数据保存到文件中,放回到文件内,需要用写入功能,用writelines一行写入
- 打开一个文件,没有就创建
- (打开一个文件,没有就创建)当文件不存在,创建文件和不存在就创建 覆盖原来的文件
- 括号内的都是字符型
- 将变量赋予打开函数后,可以用.函数的方法来调程序
- 文件添加读写功能
- 有文件就打开文件把里面的内容删除,从头重新写
- append 追加数据
- 创建文件 和在文件的最后写入
- 如果文件不存在就创建一个文件 如果文件有内容就 把数据追加在后面
-
-
- 关闭
- .close()
- 文件打开后必须关闭
- 指针 光标
- seek(偏移量,起始位置) 设置指针位置 0 开头,1当前,2结尾,起始位置默认为0,可以不写
- tell() # 返回当前指针的位置
-
模式是r 下面就读 模式是w 下面就写
- 文件与文件夹操作
- shutil 复制
- os
- 用法
-
import.os 导入系统模块
-
os.函数() 模块也是编程内置模块
- os模块属于基础模块,shutil 系统模块,shutil权限比os跟高
-
- 功能
-
重命名 os.rename(文件名称,新的名称)
- 重命名 文件与文件夹 只能操作一遍,因为改完后,原文件名字就没有了
- 移动
- 删除
-
删除文件 os.remove(name)
- 实现写出文件名字 在当前运行的文件夹下
- 或者写出文件所在路径
-
删除文件夹 os.rmdir(path)
- 删除文件夹 只能删除路径下最低层级一个文件夹
-
- 创建文件夹
- os.mkdir(path) 创建一个文件夹
-
os.makedirs('path\path) # 创建整个路径的文件夹
如果用os.mkdir('path) 创建会报错,因为开始文件夹没有.如果用os.mkdir('path) 创建会报错,因为开始文件夹没有
- 文件夹信息
-
显示文件夹下内容 os.listdir(path)
- 可以把文件夹下所包含的文件名字打印出来
- 返回一个列表,文件夹里面的数据
-
查看文件夹下所有信息 os.walk(path)
- 查看文件夹下所有信息(包括子文件夹下的内容)
- 可以用for循环取出
-
-
获取当前路径 os.getcwd(path)
-
判断文件存在 os.path.exists(path)
-
- 用法
标签:03,第七,文件,创建,编程,文件夹,path,打开,os From: https://www.cnblogs.com/qipaxiaopao/p/17011431.html