当前位置: 首页 > news >正文

文件的应用实例

目录

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)


http://www.mrgr.cn/news/27471.html

相关文章:

  • 网络安全练习之 ctfshow_web
  • 多轮对话中让AI保持长期记忆的8种优化方式篇
  • Go-RPC框架分层设计
  • FastAPI 中间件详解:实现高性能 Web 应用的完整指南和实际案例
  • 探索IDE的无限可能:使用技巧与插件推荐
  • 探秘Spring Boot中的@Conditional注解
  • Python 解析 JSON 数据
  • C/C++内存管理——内存泄漏/内存碎片
  • Ubuntu 22.04.5 LTS 发布下载 - 现代化的企业与开源 Linux
  • 接入 API 接口之前,你必须清楚的那些事儿
  • 第十二周:机器学习笔记
  • 资料分析(2021-2024国考)
  • C语言:链表
  • C#命令行参数解析库System.CommandLine介绍
  • 9.15学习记录
  • [记录一个bug]流媒体服务瓶颈排查
  • 腾讯云技术深度探索:构建高效云原生微服务架构
  • 华为项目管理培训产品总监兼首席架构师刘钊受邀为第四届中国项目经理大会演讲嘉宾
  • 13 Midjourney从零到商用·进阶篇:灯光、角度与风格等精细控制方法
  • EDC与 ClearingHouse 相关的库和模块
  • 工作流activiti笔记(三)坑!!!手把手!!
  • 安全第一:API 接口接入前的防护性注意要点
  • Python:抓取 Bilibili(B站)评论、弹幕、字幕等
  • 2024_中秋国庆双节来临 祝CSDN所有开发者与网站节日快乐
  • 探索广东省自闭症寄宿学校的独特教育模式
  • Python基础学习(1)