文件的应用实例

目录

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值