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

 更新时间:2020年01月19日 15:22:08   作者:Be_melting  
这篇文章主要介绍了python系统指定文件的查找只输出目录下所有文件及文件夹,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

修改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系统指定文件的查找只输出目录下所有文件及文件夹,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • Python NumPy创建数组方法

    Python NumPy创建数组方法

    这篇文章主要介绍了Python NumPy创建数组方法,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-09-09
  • Python 循环结构详解

    Python 循环结构详解

    这篇文章主要介绍了Python 循环结构,程序的循环结构逻辑,循环就是按照一定的条件重复的去做一件事情,当条件不成立时就结束循环的内容,需要的小伙伴一起和小编一起进入下面文章学习吧
    2022-02-02
  • Python unittest单元测试框架及断言方法

    Python unittest单元测试框架及断言方法

    这篇文章主要介绍了Python unittest单元测试框架及断言方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 浅谈Pandas dataframe数据处理方法的速度比较

    浅谈Pandas dataframe数据处理方法的速度比较

    这篇文章主要介绍了浅谈Pandas dataframe数据处理方法的速度比较,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • pycharm无法导入本地模块的解决方式

    pycharm无法导入本地模块的解决方式

    今天小编就为大家分享一篇pycharm无法导入本地模块的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • 解决python升级引起的pip执行错误的问题

    解决python升级引起的pip执行错误的问题

    今天小编就为大家分享一篇解决python升级引起的pip执行错误的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • 关于pytorch中全连接神经网络搭建两种模式详解

    关于pytorch中全连接神经网络搭建两种模式详解

    今天小编就为大家分享一篇关于pytorch中全连接神经网络搭建两种模式详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python 图形绘制详细代码(一)

    Python 图形绘制详细代码(一)

    这篇文章主要介绍了Python 图形绘制详细代码,文章主要从最简单图像的开始,在同一图上绘制两条或多条线一些简单操作,想了解的小伙伴可以学习一下,希望对你的学习有所帮助
    2021-12-12
  • 删除python pandas.DataFrame 的多重index实例

    删除python pandas.DataFrame 的多重index实例

    今天小编就为大家分享一篇删除python pandas.DataFrame 的多重index实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • numpy判断数值类型、过滤出数值型数据的方法

    numpy判断数值类型、过滤出数值型数据的方法

    今天小编就为大家分享一篇numpy判断数值类型、过滤出数值型数据的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06

最新评论