python系统指定文件的查找只输出目录下所有文件及文件夹


Posted in Python onJanuary 19, 2020

修改python运行路径

import os
os.chdir('C:/Users/86177/Desktop')
os.chdir(r'C:\Users\86177\Desktop') 
os.chdir('C:\\Users\\86177\\Desktop')

路径加载连接的三种方式:'/'、 ‘\' 、 r''

获得当前python程序运行路径

import os
print(os.getced())

输出结果为:‘C:\Users\86177\Desktop'(当前程序在的路径)

python自动路径连接

import os
os.path.join('Myprojects', 'AI')

输出结果为:‘Myprojects\AI'(windows系统下)

绝对路径和相对路径

'C:\\Users\\86177\\Desktop' #绝对路径
'./practice' #相对路径

建议在进行项目时候新创建一个文件夹,将所有的.py文件放在一起,使用相对路径读取数据

列出当前程序文件夹下所有内容

import os
os.listdir()

默认返回的全部内容的一个列表,类似于全局的方法dir(),可以查看全部的内容

判断文件还是文件夹

import os
files = os.listdir()
for file in files:
 print(file, os.path.isdir(file))

结果输出:文件夹名称,False(不是文件夹) True(是文件夹)

推荐的使用方式

import os
for file in os.scandir():
 print(file.name, file.path, file.is_dir())

结果输出的是:文件夹名称,路径和是否是文件夹的判断

综合应用

编写一个python程序,示例文件夹内容如下,要求:

(1)找出当前目录下所有非文件夹的文件

(2)统计其中包含‘python'单词的文件数量

(3)不区分大小写,即大写和小写都包括在内

(4)输出文件数量

python系统指定文件的查找只输出目录下所有文件及文件夹

参考代码如下:

import os 
os.chdir(r'D:\python_major\auto_office1')
ls_file = []
ls_dir = []
for file in os.scandir():
 if file.is_dir():
  ls_dir.append(file.name)
 else:
  ls_file.append(file.name)
print("文件夹的总量是{},\n文件为别为{}".format(len(ls_dir),ls_dir))
print('\n{}\n'.format('-'*30))
print("非文件夹的文件总量是{},\n文件为别为{}".format(len(ls_file),ls_file))
print('\n{}\n'.format('-'*30))
ls_python = []
for name in ls_file:
 if ('python' in name) or('Python'in name):
  ls_python.append(name)
print('含有python单词的文件数量有{}个,\n文件分别为{}'.format(len(ls_python),ls_python))

输出结果如下:

python系统指定文件的查找只输出目录下所有文件及文件夹

扩展延伸(选读)

如果对于'Python'不区分大小写这句话的理解为:可以有任意的大小写字母组成python这个单词就可以,比如Python,输入法转换错误写成了pYTHON,或者PYthon,这个后再进行文件的数量筛选。

这里将示例的文件夹内容增加几个含有python的文件,如下:

python系统指定文件的查找只输出目录下所有文件及文件夹

如果还使用上面的方式就显得笨重,推荐使用re库(正则表达式库,专门处理字符串数据),下面代码是基于以上代码,如下:

import re
ls_name = []
for name in ls_file:
 pat = '.*python.*'
 match = re.match(pat,name,re.I)
 #re.I代表不区分大小写
 try:
  ls_name.append(match.group())
 except:
  pass

print('含有python单词的文件数量有{}个,\n文件分别为{}'.format(len(ls_name),ls_name))

如果对于re库感兴趣可以自学,这里只做抛砖引玉,结果输出如下:

python系统指定文件的查找只输出目录下所有文件及文件夹

总结

以上所述是小编给大家介绍的python系统指定文件的查找只输出目录下所有文件及文件夹,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
详解Python爬虫的基本写法
Jan 08 Python
利用Python暴力破解zip文件口令的方法详解
Dec 21 Python
ubuntu环境下python虚拟环境的安装过程
Jan 07 Python
Python产生Gnuplot绘图数据的方法
Nov 09 Python
python随机数分布random均匀分布实例
Nov 27 Python
django框架forms组件用法实例详解
Dec 10 Python
python数据预处理 :样本分布不均的解决(过采样和欠采样)
Feb 29 Python
python实现飞机大战项目
Mar 11 Python
Django后端分离 使用element-ui文件上传方式
Jul 12 Python
深入了解Python装饰器的高级用法
Aug 13 Python
忆童年!用Python实现愤怒的小鸟游戏
Jun 07 Python
python tqdm用法及实例详解
Jun 16 Python
Python插入Elasticsearch操作方法解析
Jan 19 #Python
Docker部署Python爬虫项目的方法步骤
Jan 19 #Python
Python Selenium参数配置方法解析
Jan 19 #Python
浅谈tensorflow中张量的提取值和赋值
Jan 19 #Python
python通过安装itchat包实现微信自动回复收到的春节祝福
Jan 19 #Python
使用 Python 处理3万多条数据只要几秒钟
Jan 19 #Python
Python openpyxl模块原理及用法解析
Jan 19 #Python
You might like
Ajax+PHP 边学边练之四 表单
2009/11/27 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
2017/04/01 PHP
菜单效果
2006/10/14 Javascript
javaScript 读取和设置文档元素的样式属性
2009/04/14 Javascript
浅谈Javascript事件模拟
2012/06/27 Javascript
打豆豆小游戏 用javascript编写的[打豆豆]小游戏
2013/01/08 Javascript
jQuery实现带玻璃流光质感的手风琴特效
2015/11/20 Javascript
理解javascript封装
2016/02/23 Javascript
jQuery.deferred对象使用详解
2016/03/18 Javascript
有关JavaScript中call()和apply() 的一些理解
2016/05/20 Javascript
Nodejs实现短信验证码功能
2017/02/09 NodeJs
js求数组中全部数字可拼接出的最大整数示例代码
2017/08/25 Javascript
vue element table 表格请求后台排序的方法
2018/09/28 Javascript
Node.JS发送http请求批量检查文件中的网页地址、服务是否有效可用
2019/11/20 Javascript
Vue中import from的来源及省略后缀与加载文件夹问题
2020/02/09 Javascript
JavaScript中CreateTextFile函数
2020/08/30 Javascript
[01:14]DOTA2亚洲邀请赛小组赛赛前花絮
2017/03/27 DOTA
python图像处理之镜像实现方法
2015/05/30 Python
Python的Flask框架应用调用Redis队列数据的方法
2016/06/06 Python
django中的setting最佳配置小结
2017/11/21 Python
解决python ogr shp字段写入中文乱码的问题
2018/12/31 Python
Pycharm中Python环境配置常见问题解析
2020/01/16 Python
Python3 filecmp模块测试比较文件原理解析
2020/03/23 Python
通过实例了解Python异常处理机制底层实现
2020/07/23 Python
实例讲解CSS3中的box-flex弹性盒属性布局
2016/06/09 HTML / CSS
如何进行Linux分区优化
2016/09/13 面试题
美术专业学生个人自我评价
2013/09/19 职场文书
财产公证书
2014/04/10 职场文书
乡镇安全生产目标责任书
2014/07/23 职场文书
爱的奉献演讲稿
2014/09/10 职场文书
村支部书记群众路线对照检查材料思想汇报
2014/10/08 职场文书
安全生产先进个人总结
2015/02/15 职场文书
Ajax实现异步加载数据
2021/11/17 Javascript
详解使用内网穿透工具Ngrok代理本地服务
2022/03/31 Servers
Vue中使用import进行路由懒加载的原理分析
2022/04/01 Vue.js
Mybatis 一级缓存和二级缓存原理区别
2022/09/23 Java/Android