python系统指定文件的查找只输出目录下所有文件及文件夹
作者:Be_melting 发布时间:2021-03-23 08:00:04
修改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)输出文件数量
参考代码如下:
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的文件,如下:
如果还使用上面的方式就显得笨重,推荐使用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系统指定文件的查找只输出目录下所有文件及文件夹网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
来源:https://blog.csdn.net/lys_828/article/details/104032723
猜你喜欢
- 猜测下面这段程序的输出:class A(object): def __init__(self):
- 前言使用 webstrom 调试 Vue.js 单页面程序,理论上来说应该是支持所有用 webpack 构建的应用程序webstrom 版本
- 随着jQuery、Mootools、prototype等知名的JavaScript框架的应用变的越来越强大,浏览器对最新版本CSS属性的支持
- 在上一个文章里写了关于左(右)侧定宽右(左)侧自动缩放的两列浮动,这个文章就要说一下三列浮动的问题了。在之前说过,两列浮动是其他多列浮动的基
- 淘宝商城的 detail 页面“产品详情”部分是商家自定义区块,曾出现这样一个问题:推荐:css行高:line-height属性详解 <
- 脚本主要功能:1)通过zabbix api接口采集所有监控主机ip地址;2)通过cmdb系统(蓝鲸)接口采集所有生产主机IP地址、主机名、操
- 引言周末我和小明又开始了疯狂的考证学习,昨晚通过合法的手段获取了一套学习资料,却遇到了一个问题:一套完整的资料,被机构拆分成了162个wor
- 这个话题是应腾讯ISD同仁之邀在WebReBuild三周年交流会上做的主题分享。由于临场等原因有些问题当时没有讲明白,回来后按原有思路形成了
- 新版的path 虽然 取代了 之前的url,但是在写路由的时候不能在路由中直接写正则表达式,不然会找不到页面。解决方法使用re_pathfr
- 思想:4个数字的排列,加上3个运算符的排列,使用后缀表达式的表现如下:情形一:1,2,3,4,+,-,* => 24*24*4情形二:
- 在 linux 系统中连接 mdb 数据库,直接连接的话,mdb 默认的驱动无法识别非 windows 的路径, 所以不能使用常规的连接方式
- urllib模块发起的POST请求案例:爬取百度翻译的翻译结果1.通过浏览器捉包工具,找到POST请求的url针对ajax页面请求的所对应u
- 本文实例讲述了Python实现的微信好友数据分析功能。分享给大家供大家参考,具体如下:这里主要利用python对个人微信好友进行分析并把结果
- 我们可以通过更改注册表来解决这个问题: 打开注册表,进入到[HKEY_USERS\.DEFAULT\Control Panel\Intern
- 也许已经有人发现可以这样写...CSS代码部分a.info { position:
- 本文列出了初学网页编程中常用到的一些代码和一些技巧,简单实用,您一定用得到。1、oncontextmenu="window.eve
- #-*- coding:utf-8 -*- from win32com.client import Dispatch if __name__
- seek()方法在偏移设定该文件的当前位置。参数是可选的,默认为0,这意味着绝对的文件定位,它的值如果是1,这意味着寻求相对于当
- 一.前言众所周知:没有对象怎么办?那就new一个!那么在JS中,当我们new一个对象的时候,这个new关键字内部都干了什么呢?现在我们就来剖
- 处理数据的时候,偶然遇到要把一个Dataframe中的某些行添加至一个空白的Dataframe中的问题。最先想到的方法是创建Datafram