python系统指定文件的查找只输出目录下所有文件及文件夹
Python  /  管理员 发布于 7年前   297
修改python运行路径
import osos.chdir('C:/Users/86177/Desktop')os.chdir(r'C:\Users\86177\Desktop') os.chdir('C:\\Users\\86177\\Desktop')
路径加载连接的三种方式:'/'、 ‘\' 、 r''
获得当前python程序运行路径
import osprint(os.getced())
输出结果为:‘C:\Users\86177\Desktop'(当前程序在的路径)
python自动路径连接
import osos.path.join('Myprojects', 'AI')
输出结果为:‘Myprojects\AI'(windows系统下)
绝对路径和相对路径
'C:\\Users\\86177\\Desktop' #绝对路径'./practice' #相对路径
建议在进行项目时候新创建一个文件夹,将所有的.py文件放在一起,使用相对路径读取数据
列出当前程序文件夹下所有内容
import osos.listdir()
默认返回的全部内容的一个列表,类似于全局的方法dir(),可以查看全部的内容
判断文件还是文件夹
import osfiles = os.listdir()for file in files: print(file, os.path.isdir(file))
结果输出:文件夹名称,False(不是文件夹) True(是文件夹)
推荐的使用方式
import osfor 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 rels_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系统指定文件的查找只输出目录下所有文件及文件夹,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号