java中的接口是类吗
543
2022-08-27
Python ❀ 文件操作(python代码大全)
Python学习计划(八)
文件操作
一、路径 1、构建通用路径 Windows、Linux os系统上路径分隔符不同,所以最好统一
os.path.join('usr','bin','temp')
2、当前目录 获取当前目录路径
os.getcwd()
改变当前路径
os.chdir(path)
3、绝对路径于相对路径绝对路径:总是从根文件夹开始 .\ 代表当前路径相对路径:相对于程序的当前工作目录 …\代表父目录路径
4、处理决定路径和相对路径
os.path.abspath(path):将相对路径转为绝对路径os.path.isabs(path):判断是否为绝对路径os.path.relpath(path,start):返回从start路径到path的相对路径的字符串,没start使用当前os.path.basename(filepath):返回文件路径最后的文件名os.path.dirname(filepath):返回文件路径的文件名os.path.split(filename):分别返回文件路径和文件名
5、查看路径有效性
os.path.exists(path):检查路径是否存在os.path.isfile(path):检查文件是否存在os.path.isdir(path):检查文件夹是否存在
二、文件夹于文件 1、创建文件夹
os.makedirs(path)
2、文件的打开与关闭 (1)基本操作流程: 打开文件,或者建立一个文件 读/写数据 关闭文件 (2)打开文件: 使用open函数,可以打开一个已经存在的文件,或者创建一个新的文件
open(文件名,访问模式)
例如:
f = open('test.txt',w)
访问模式列表:
访问模式 | 说明 |
r | 以只读方式打开文件。文件的指针将会放在文件的开头,这是默认模式。 |
w | 打开一个文件只用于写入。如果该文件已经存在则将其覆盖。如果文件不存在,创建新文件。 |
a | 打开一个文件用于追加。如果该文件已经存在,文件指针会放在文件的结尾。也就是说,新的内容写入到已有内容之后,如果该文件不存在,创建新文件进行写入。 |
rb | 以二进制格式打开一个文件用于只读,文件指针将会放在文件的开头,这是默认模式。 |
wb | 以二进制格式打开一个文件只用于写入,如果该文件已存在则将其覆盖。,如果该文件不存在,创建新文件。 |
ab | 以二进制格式打开一个文件用于追加,如果该文件已存在,文件指针将会放在文件的结尾,也就是说文件的内容将会被写入到已有的内容之后,如果该文件不存在,创建新文件进行写入。 |
r+ | 打开一个文用于读写。文件指针将会放在文件的开头。 |
w+ | 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果不存在,创建新文件。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文指针将会放在文件的结尾。文件打开时会是覆盖后的内容,如果文件不存在,创建新文件。 |
rb+ | 以二进制格式打开一个文件用于读写,文件指针将会放在文件的开头。 |
wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创新新文件。 |
ab+ | 以二进制格式打开一个文件用于追加。如果文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
(3)关闭文件: 调用close()函数
f.close()
3、文件读写 (1)write函数:向文件写入数据
f = open('test.txt','w')f.write('hello world,I am here')f.close()
注意:如果文件不存在则创建,如果存在则先请空,然后再写入数据 (2)read(num)函数: 以从文件中读取数据,num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据
f = open('test.txt','r')conuent = f.read(5)print(content)print("-"30)content = f.read()print(content)f.close()
注意:
如果open仅仅读取一个文件,那么可以不用写打开的模式,即只写open(‘test.txt’)如果使用读了多次,那么后面读取的数据是从上次读完后的位置开始的读取的文件如果包含中文时,最好open(‘test.txt’,encoding=‘utf-8’)
(3)tell()函数:获取当前读写的位置
(4)seek(offset,from)函数:定位到某个位置
offset:偏移量from:方向
0:表示文件开头1:表示当前位置2:表示文件末尾
4、文件和文件夹的复制 需要导入shutil模块
shutil.copy(原路径,目标路径)shutil.copytree(原路径,目标路径)
注意:
copy(文件路径,文件夹路径):将文件复制到文件夹copy(文件路径,文件路径):复制文件并重命名os.rename()copytree复制文件夹所以内容
5、文件和文件夹的移动与改名
shutil。move(目标,目的)
注意:
目标为文件,目的为已知目录,则移动文件目标为文件,目的为路径不存在的目录,则为文件无后缀名目标为文件,目的为文件,则移动文件并改名目标为文件,目的为路径不存在的文件,报错
6、文件和文件夹的删除
os.unlink(path):删除文件os.remove(path)os.rmdir(path):删除文件夹,必须为空shutil.rmtree(path):删除文件夹,全删
(1)安全删除: 需导入send2trash模块
send2trash.send2trash(aim)
删除时入回收站,但不恢复
(2)另外将二进制数据(变量)持久化保存 写入操作: 导入shelve库
shelf = shelve.open('文件'):打开文件,没有则新建shelf[key]=value:以键值对方式保存,类似于字典shelf.close():关闭
读取操作: 导入shelve库
shelf = shelve.open('文件'):打开文件,没有则新建shelf[key]:读取数据shelf.close():关闭
同样拥有key(),values()方法获取所有键和值
创作者:Eric· Charles
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~