目录
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+"/"+ele
if 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 + "/" + ele
if 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)