Python 文件和文件夹 01

article/2025/10/16 8:35:41

Python·文件和文件夹 01


① 修改当前目录,首次利用 pandas 读取 excel 表
os.chdir

import os
import pandas as pd
os.chdir('C:/aa/bb/cc')
os.chdir(r'C:\aa\bb\cc')数据 = pd.read_excel("temp.xlsx") 等同于当前路径下的 temp.xlsx 文件。print(数据)

② 字符串连接,变为 路径格式。
os.path.join() "/".join()

P1 = 'A'
P2 = 'B'
P3 = 'C'
P4 = 'D'path = os.path.join(P1,P2,P3,P4)print("c:\\" + path)arr = [P1,P2,P3,P4]print("c:\\" + "\\".join(arr))

在这里插入图片描述

③ 利用 dirlist 遍历 所有文件
os.path.isdir() 判断是否是 文件夹
os.path.listdir() 获取文件夹里的 内容列表

import os
file = open("fileDir.txt",'a')def f(bootdir):for 元素 in os.listdir(bootdir):if (os.path.isdir(bootdir + 元素)):f(bootdir + 元素 + '\\')else:file.write(bootdir + 元素 + '\n')print(bootdir + 元素)f("C:\\Users\\muqua\\Desktop\\")

在这里插入图片描述

④ os.scandir() 更加 强大的遍历 文件夹 函数

os.scandir() 可以获取到 当前文件或文件夹的 属性,还能 方便的 判断状态

这个方法 会返回一个 可迭代的对象,不会直接返回给你 列表。因为 毕竟 每个 对象 都是 封装了很多方法的。所以当然 不能直接返回给你 字符串。

对象.name 文件名
对象.path 路径
对象.is_file() 是否是文件
对象.is_dir() 是否是文件夹
对象.stat() 显示该文件的所有属性
对象.stat().st_size 文件的体积大小
对象.stat().st_atime 文件的最近访问时间
对象.stat().st_mtime 文件的最近修改时间
对象.stat().st_ctime Windos 下 文件的创建时间
对象.stat().st_birthtime 在MAC 和 Linux 下的 创建时间

import time
import datetime as dt全部对象 = os.scandir("C:\\Users\\muqua\\Desktop\\")for 文件 in 全部对象:# print(文件.is_file())print(文件.name,文件.stat().st_size)print(文件.name,文件.stat().st_ctime,time.ctime(文件.stat().st_ctime))print(文件.name,文件.stat().st_mtime,文件.stat().st_atime,dt.datetime.fromtimestamp(文件.stat().st_atime))

在这里插入图片描述
time.ctime() 可以提供一个 ctime 然后返回给你一个 确切的时间,当然是 欧美习惯

import datetime as dt dt.datetime.fromtimestamp() 这个就是 我们习惯的时间格式

遍历所有文件的 便捷方法 os.walk(最根目录,是先遍历最根目录还是子目录,需要一个callable对象当出现异常的时候会调用,是否遍历快捷方式)

这个方法会直接 返回一个 三元组给我们!非常的 规整。也非常的快速。

num = 0for 文件夹路径,子文件夹列表,文件列表 in os.walk("C:\\Users\\muqua\\Desktop\\"):for i in 文件列表:print(文件夹路径 + "\\" + i)num+=1print(num)

在这里插入图片描述


1.2 搜索和匹配 文件名称

① 利用字符串内置方法:startswith()endswith()

num = 0for 文件夹路径,子文件夹列表,文件列表 in os.walk("C:\\Users\\muqua\\Desktop\\"):for i in 文件列表:if i.endswith(".xlsx"):print(文件夹路径 + "\\" + i)num+=1print(num)

其实 这只是 字符串 方法最简单的 一个使用效果了,字符串的 方法 你要是 玩好了。各种 效果 都有可能实现!!!

② glob 模块 (配合正则表达式 实现匹配)

import glob
oldPath = os.getcwd()os.chdir("C:\\Users\\muqua\\Desktop\\")print(glob.glob("**/*.xlsx",recursive=True))os.chdir(oldPath)

但是 glob 方法 必须是 当前的目录,所以我们要是用它的话,就得 改变 当前路径。

而且 如果 是 recursive = True 提供了 这个参数的话,你就必须是 在 正则匹配 字符串里 加上 **/

如果 是 Recuresive(递归)= True
在这里插入图片描述

③ fnmatch 模块 不太建议使用

fnmatch 只能 匹配当前目录下的 文件

在这里插入图片描述


http://chatgpt.dhexx.cn/article/oS68645c.shtml

相关文章

删除win10无限嵌套文件夹

解决由于失误操作导致WIN10系统产生无限循环的文件夹问题 昨天本想自己写一个拷贝文件的小程序,结果出现了点小问题,整出了一个无限循环的文件夹,直接删除出出现错误代码提示,显示无法删除,然后我就去网上找解决方案&…

计算机专硕一般研二在干嘛,专硕一般研二在干嘛,专硕两年怎么安排

一般学习两年。 硕士学位的学制取决于您申请的学校和专业。 不同的学校可能不同,同一所学校的硕士学位也可能不同。 许多学校还设有两年半的学制,甚至三年制的学制。本文一起来看一下吧~ 一.什么人适合读专硕 1、英语相对一般的人 学硕主要考英语一试卷&…

研二导师画大饼,不给时间实习,咋办

一个小学弟最近咨询我 我是本硕都在一所双非一本就读,软件工程,目前研二,23 届。我想在暑期进行一下今年的实习,想着可能对后面秋招和来年春招有帮助,但是实验室管的严导师不放时间(其实我当时是为了毕业条件和平时研…

2022年终总结与2023新年展望

前言 时间过得太快了,虽然写博客已经很多年了,但是年终总结一直由于种种原因没有写过,2022年确实是魔幻的一年,不知不觉自己也已经研二了,因为疫情的原因突然放开,提前放假回家,借此机会写一下…

研二(上学期)计划安排

今天是9.17号了,时间过得很快,学习的脚步永远停不下来。 时间的安排就不说了,真的是计划赶不上变化,一句话,除了外聘上课和研助,其他的时间必须到达实验室,(一个星期一次总结&#…

计算机科学与探索、计算机工程与应用投稿经验分享

目录 等级: 经验: 总结: 等级: 计算机科学与探索 CCFb 计算机工程与应用 CCFB(2022年由c升为b) 经验: 首先本人主要关注计算机人工智能图像处理领域,北京某高校研二学生,水平不高。在研一…

计算机专业学生如何写一份优秀的校招简历(大三、研二学生请进)

计算机专业学生如何写一份优秀的校招简历(大三、研二学生请进) 最近讲了一节简历的公开课,还是蛮有价值的,想分享给大家 主要是讲解计算机相关专业的学生,就业找工作的简历,该如何书写。 内容包含: 1、快速掌握一份校…

快速傅里叶变换(研二的我终于弄懂了)

研二的我仍然对快速傅里叶变换一知半解,于是乎,本着待在家里,能耗时间就多耗点,不知道何年马月我才可以在外面快乐的奔跑~~ 快速傅里叶变换的实现(c版本) 在做项目的时候,需要用到matlab里的ff…

华电软工非全研究生学习工作总结-研二开学总结

昨晚加班太晚,就打算调休一天,养好精神,晚上开车回老家,开启假期模式。午休过后没啥事,随后就想着水一篇文章吧。 1、研究生学习 1.1、学生证来啦 今天对学生们来说,最大的喜事就是,期待了一学期的研究生学生证从北京邮寄了。看到微信群同学们开心的晒着学生证,我也期…

爆肝三天,我整理了这份春招攻略【针对大三/研二】

大家好,我是菜饼。长文预警,建议收藏。 18级的师弟妹们,这份春招攻略,希望可以让你们清醒一下。 (当然,本篇不仅仅适用于大三同学,也适用于研一研二,打算走互联网开发方向的同学。&…

再见北理工:忆北京研究生的编程时光

两年前,我本科毕业写了这样一篇文章:《 回忆自己的大学四年得与失 》,感慨了自己在北理软院四年的所得所失;两年后,我离开了帝都,回到了贵州家乡,准备开启一段新的教师生涯,在此也写…

研究生学姐二次考研的感悟:关于择校选专业专硕or学硕

今天想跟大家分享一下我第一次考研,第二次考研,以及现在读研的一些经历。如果你能从中获得启发,我很荣幸,如果你觉得我说得不对,那就是你对。以下我输出的观点仅代表我个人,每个人的成长环境和想法都不一样…

优秀!研二实习生“阿里+字节+拼多多+美团”四杀offer

本人就读于某无导师制培训班,研二在百度腾讯实习过,目前想转java技术栈或wlb一下,就投递了一些外企和美团阿里,至于字节与拼多多,个人实在无法接受周末上班,就没有投递了。 年前准备了一下简历&#xff0c…

研一一整年都在搞深度学习,研二醒悟打算转开发

作者:阿秀阿秀的学习笔记:https://interviewguide.cn 你好,我是阿秀。 最近阿秀组建了自己的学习圈子,其实圈子里以前只有我一个人的,每天适当充电、看看书或者看一些教学视频,也会简单打卡记录自己的学习进…

【阶段总结】研二上学期总结

写在前面 距离上一篇【阶段总结】研一上学期总结又过去了将近一年的时间,而这一篇的阶段性总结也是在我入驻csdn平台后的第四篇的年度总结。从一开始的犹犹豫豫到现在坚持不定期的写作和总结,回想这几年的历程,还好有个csdn这个平台可以记录…

NLP领域论文笔记【研一下研二上】01

一、《Heterogeneous Graph Neural Networks for Extractive Document Summarization》 1、除句子外,还包含不同粒度级别的语义节点,这些另外的节点可以作为句子间的媒介,以加强句子间的关系。文件摘要是提取原始文档中的句子,把…

网页加载慢的测试方法

测试网页代码加载速度 背景测试方法 背景 最近用Hbuilder写了一个简单的网页,但是用到了很多的图片,本地加载很快,但是别人访问的时候加载很慢。 测试方法 百度的话 都是一些不着调的。打开你的网页,然后F12,选择ne…

Selenium自动化测试网页加载太慢怎么办

遇到网页加载慢,selenium运行效率降低,可以通过修改页面加载策略提升自动化效率。 selenium加载很慢 通过URL导航到新页面时,默认情况下,Selenium将等待文档完全被加载才会执行下面的操作,此时网页的加载状态为 comp…

php 加载慢,PHP开发中,网页加载速度很慢怎么办

有没有发现一种情况,总有一个用户需要等待某个平台的页面加载。最后他们会因为等得太久,被消耗了耐心,而直接关闭了加载该页面的窗口。 一般来说,页面在512KB的连接速率下,超过5秒打不开网页,用户就会很烦躁…

JS网页加载状态判断

网页加载状态一共分为5种,分别是: //(未初始化)还没有调用send()方法 1.uninitialized:(Uninitialized) the send( ) method has not yet been invoked. //(载入)已调用send()方法,正在发送请求 2.loadi…