文件的应用实例
目录
1、拷贝文件
2、遍历文件夹
1、拷贝文件
说明:将一张图片/一首歌拷贝到另外一个目录下,要求使用read()和write()原生方法完成
"""思路分析:1、打开源文件(需要拷贝的文件),读取源文件的数据2、打开目标文件(需要把文件拷贝到哪去),把读取的文件数据写入目标文件即可3、注意:因为图片/音频是二进制文件,需要以二进制的方式打开
"""
# 源文件
f_src_path="D:/b/笔记本3.bmp"
# 目标文件
f_dst_path="D:/a/abc/笔记本3.bmp"# 打开源文件
f_src=open(f_src_path,"rb")
# 读取源文件的数据
data=f_src.read()# 打开目标文件
f_dst=open(f_dst_path,"wb")
# 把读取的文件数据写入目标文件
f_dst.write(data)# 关闭文件
f_dst.close()
f_src.close()
print("拷贝ok...")
"""思路分析:1、打开源文件(需要拷贝的文件),读取源文件的数据2、打开目标文件(需要把文件拷贝到哪去),把读取的文件数据写入目标文件即可3、注意:因为图片/音频是二进制文件,需要以二进制的方式打开
"""
# 源文件
f_src_path="D:/b/笔记本3.bmp"
# 目标文件
f_dst_path="D:/a/abc/笔记本3.bmp"# 使用with子句的方式完成文件拷贝(读取一行数据,就写入),代码比较简洁
with open(f_src_path,"rb") as f_src:with open(f_dst_path,"wb") as f_dst:for data in f_src:f_dst.write(data)print("拷贝ok...")
2、遍历文件夹
"""思路分析:先考虑单级目录1、获取文件夹(目录)的所有内容(元素),包含了文件和目录2、判断是文件还是目录,输出对应的信息
"""
import os# 指定要查看的目录
dir_path="d:/a"
# 获取文件夹(目录)的所有内容(元素)
content_list=os.listdir(dir_path)
print("content_list:",content_list)
# 遍历content_list,输出对应的信息
for ele in content_list:child_ele=dir_path+"/"+eleif os.path.isdir(child_ele):print(f"目录:{child_ele}")else:print(f"文件:{child_ele}")
"""思路分析:考虑多级目录-递归的操作函数1、获取文件夹(目录)的所有内容(元素),包含了文件和目录2、判断是文件还是目录,输出对应的信息2.1、如果是目录,则输出信息后,再递归处理2.2、如果是文件,直接输出信息即可
"""
import os# 指定要查看的目录
dir_path="d:/a"def print_dir_all_content(dir_path):# 获取文件夹(目录)的所有内容(元素)content_list = os.listdir(dir_path)# 遍历content_list,输出对应的信息for ele in content_list:child_ele = dir_path + "/" + eleif os.path.isdir(child_ele):print(f"目录:{child_ele}")# 递归的操作print_dir_all_content(child_ele)else:print(f"文件:{child_ele}")# 测试
print_dir_all_content(dir_path)