python文件及路径管理函数

glob模块

说明:

1、glob是python自己带的一个文件操作相关模块,用它可以查找符合自己目的的文件,就类似于Windows下的文件搜索,

支持通配符操作 *?[] 这三个通配符,*代表0个或多个字符,?代表一个字符,[]匹配指定范围内的字符,如[0-9]匹配数字。

glob.glob("字符串+通配符")

该方法返回指定路径所有匹配的文件的列表,该方法需要一个参数用来指定匹配的路径字符串(本字符串可以为绝对路径也可以为相对路径),其返回的文件名只包括当前目录里的文件名,不包括子文件夹里的文件。

glob.glob(r‘c:\*.txt‘)      我这里就是获得C盘下的所有txt文件

glob.glob(r‘E:\pic\*\*.jpg‘)  获得指定目录下的所有jpg文件

glob.glob(r‘../*.py‘)      上一层路径下的所有.py文件

fnmatch模块

此模块的主要作用是文件名称的匹配,fnmatch有2个比较常用的方法:fnmatchfilter

字符 含义
* 匹配所有字符
匹配单个字符
[seq] 匹配指定范围内的字符
[seq] 匹配不在指定范围内的字符

fnmatch.fnmatch(filename, patten)  测试filename,是否符合pattern

import fnmatch
import os
for file in os.listdir(‘.‘): #os.listdir返回指定的文件夹包含的文件或文件夹的名字的列表
    if fnmatch.fnmatch(file, ‘*.py‘): #判断是否有后缀为.py的文件,*代表文件名长度格式不限制。
       print(file)

fnmatch.filter(names, pattern)    实现列表特殊字符的过滤或筛选,返回符合匹配模式的字符列表,

import fnmatch
filelist=["a.text","b.jpg","c.png","d.py",‘e.text‘,"sss.py"]
print(fnmatch.filter(filelist,"?.py")) # 匹配前面是一个字符的.py文件
# 输出:d.py

os的文件操作

os.path()

os.path 常用方法:

import os

print(os.path.splitext(‘./data/large.wav‘))            # 分离文件名和扩展名 (‘./data/large‘, ‘.wav‘)
print(os.path.splitext(‘./data/large‘))                # 分离文件名和扩展名 (‘./data/large‘, ‘‘)
print(os.path.split(‘/root/runoob.txt‘))               # 分割文件名与路径 (‘/root‘, ‘runoob.txt‘)
print(os.path.join(‘root‘,‘test‘,‘runoob.txt‘))        # 将目录和文件名合成一个路径 root/test/runoob.txt
os.path.isdir(‘d:/books/book‘)                      # 判断某一路径是否为目录
os.path.isfile(‘d:/books/book/book.txt‘)            # 判断某一路径是否为文件

创建目录  os.mkdir(path)

其参数path为要创建的目录,但只能创建一级目录,不能创建多级目录。

os.mkdir(r"C:\Users\Never\Desktop\aa")  # 在桌面创建一个aa目录

删除目录  os.rmdir(path)

删除一级目录

os.rmdir(‘d:\hmm‘)     # 把D盘下的hmm的目录删除

创建多级目录  os.makedirs(path)

创建多级目录,其参数path 为要创建目录的路径。

os.makedirs(r"C:\Users\Never\Desktop\aa\bb")  # 在桌面创建一个aa目录,并在aa目录中创建bb目录

删除多级目录  os.removedirs(path)

删除多级目录,注意:要删除的目录必须是空目录,即目录没有文件

os.removedirs(‘d:\\books\\book‘)    # 注意:要删除的目录必须是空目录

删除文件  os.remov(path)

os.remove(‘d:\\books\\book\\book.txt‘)    # 删除D盘下books目录下book目录中的book.txt的文件

遍历目录  os.walk(path)

其参数path 为要遍历的目录,返回一个三元素的元组 (root,dirs,files)

  • root 所指的是当前正在遍历的这个文件夹的本身的地址
  • dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
  • files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)

如果我们有如下的文件结构:

   a ->   b   ->   1.txt,  2.txt
          c   ->   3.txt
          d   ->
        4.txt
        5.txt
for (root, dirs, files) in os.walk(‘a‘):
    #第一次运行时,当前遍历目录为 a
    所以 root == ‘a‘
         dirs == [ ‘b‘, ‘c‘, ‘d‘]
         files == [ ‘4.txt‘, ‘5.txt‘]

    # 接着遍历 dirs 中的每一个目录
    b:  root  = ‘a\\b‘
        dirs  = []
        files = [ ‘1.txt‘, ‘2.txt‘]

    # dirs为空,返回
    # 遍历c
    c:  root  = ‘a\\c‘
        dirs  = []
        files = [ ‘3.txt‘ ]

    PS : 如果想获取文件的全路径,只需要
    for f in files:
        path = os.path.join(root,f)

    # 遍历d
    d:  root  = ‘a\\b‘
        dirs  = []
        files = []

    # 遍历完毕,退出循环

综合使用

列出一个文件夹中的所有音频文件,把文件名存储到列表中,这段代码经常会用到

wav_list = []
for root, dirnames, filenames in os.walk("./VCTK/p225"):
    for filename in fnmatch.filter(filenames, "*.wav"):     # 实现列表特殊字符的过滤或筛选,返回符合匹配“.wav”字符列表
        wav_list.append(os.path.join(root, filename))
print(wav_list)
# [‘./VCTK/p225\\p225_001.wav‘, ‘/VCTK/p225\\p225_002.wav‘,...

原文地址:https://www.cnblogs.com/LXP-Never/p/11093716.html

时间: 2024-10-11 00:50:10

python文件及路径管理函数的相关文章

python 文件和路径操作函数小结

1: os.listdir(path) //path为目录 功能相当于在path目录下执行dir命令,返回为list类型 print os.listdir('..') 2: os.path.walk(path,visit,arg) path :是将要遍历的目录 visit :是一个函数指针,函数圆形为: callback(arg,dir,fileList) 其中arg为为传给walk的arg , dir是path下的一个目录,fileList为dir下的文件和目录组成的list, arg:传给v

python文件和目录操作函数小结

本文主要介绍python文件和目录操作函数小结,主要涉及到os模块和shutil模块的一些方法. python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r"c:\python")检验给出的路径是否是一个文件:os.path.isf

python文件和目录操作函数总结

有关python文件和目录操作函数小结,主要涉及到os模块和shutil模块的一些方法. python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r“c:\python”)检验给出的路径是否是一个文件:os.path.isfile()检验给出

004 Python 文件操作 字典 自定义函数

# Python 3 文件操作 字典 自定义函数 ● python 文档 官方英文文档 https://docs.python.org/3/ 汉化版文档 http://python.usyiyi.cn/ ● open() 返回一个文件句柄 参数1:文件地址,绝对地址,或者相对地址 参数2:文件打开的方式 rU 或 Ua 以读方式打开, 同时提供通用换行符支持 (PEP 278) w 以写方式打开, a 以追加模式打开 (从 EOF 开始, 必要时创建新文件) r+ 以读写模式打开 w+ 以读写模

laravel获取不同目录文件夹路径的函数

laravel下面有几个取特殊路径的函数,这里做个总结.大家按需取用即可.除了base_path是指的代码根目录外,其他的几个函数都指代的是具体的同名目录. base_path() //站点根目录 app_path() //app目录 public_path() //public目录 storage_path() // storage 目录 resource_path() //resources 目录 config_path() // config 目录 database_path() // d

python框架-flask-03路径与函数的映射

一:运行报错 OSError: [Errno 98] Address already in use:5000端口可能被占 lsof -i:端口号  查看端口被那个进程使用,结果是python3.5 kill PID 杀死这个进行,运行程序,flaks框架正常运行 from flask import Flask app = Flask(__name__) @app.route("/") def aa(): return "index page" @app.route(

Python文件输入输出

http://blog.csdn.net/pipisorry/article/details/37769669python文件输入输出教程 python文件中的读入科学计数法的数字 float(word_dist) 皮皮blog python文件读取 内置函数open() 得到一个文件对象(file object):open(filename, mode='r') 函数参数 1. 模式mode: 模式 描述 r 以只读方式打开文件.文件的指针将会放在文件的开头.这是默认模式. rb 以二进制格式

五.Python文件IO和路径操作

目录 Python文件IO操作 上下文管理with 路径操作 01 Python文件IO操作: clumn column open 打开 read 读取 write 写入 close 关闭 readline 行读取 readlines 多行读取 seek 文件指针操作 tell 指针位置 打开文件 open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=No

Python os模块--路径、文件、系统命令等操作

os模块包含普遍的操作系统功能. 注意:函数参数path是文件或目录的路径,filename是文件的路径,dirname是目录的路径,路径可以是相对路径,也可绝对路径 常见或重要的函数为加粗字体 os模块: os.name   返回当前操作系统名称('posix', 'nt', 'os2', 'mac', 'ce', 'riscos'),windows为'nt',linux为'posix' os.sep == os.path.sep 返回路径各部分之间的分隔符,linux是'/',windows