Python文件处理、os模块、glob模块

目录
  • 一、文件基本的操作
    • 1、open() 打开文件
    • 2、read() 读文件
    • 3、write()写文件:
    • 4、with open()方法
  • 二、文件的打开模式
    • 1、文件r打开模式
      • 1、读文本
      • 2、读字节
      • 3、for逐行读取,相当于readline。
      • 4、读方法:
    • 2、文件W打开模式
      • 1、文本模式
      • 2、字节模式
      • 3、写方法:
    • 3、文件a打开模式
    • 4、+可读、可写
  • 三、文件指针操作
    • 1、seek(offset, from_what) :改变当前文件操作指针的位置
    • 2、tell():告诉文件当前位置。
    • 3、truncate([size]):截断
  • 四、文件修改的两种方式
  • 五、os文件处理模块
    • 1、os模块
    • 2、os.path 模块
    • 3、实例:
  • 七、glob模块:使用通配符查找文件
    • 1、glob.glob:返回所有匹配的文件路径列表。
    • 2、glob.iglob:获取一个可遍历对象,使用它可以逐个获取匹配的文件路径名。

一、文件基本的操作

1、open() 打开文件

open() 方法用于打开一个文件,并返回File文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。

注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。

open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。

open(file, mode='r')

完整的语法格式为:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

2、read() 读文件

f = open(r'/Users/mac/desktop/jupyter/pythonCourseware/32.txt', mode='r')# read模式打开文件
data = f.read() # 读取文件内容,向操作系统发起读请求,会被操作系统转成具体的硬盘操作,将内容由硬盘读入内存
print(data)
# 由于Python的垃圾回收机制只回收引用计数为0的变量,但是打开文件还占用操作系统的资源,所以我们需要回收操作系统的资源资源
# del f 只是回收变量f
f.close()

3、write()写文件:

# write模式打开文件
f = open(r'/Users/mac/desktop/jupyter/pythonCourseware/32.txt', mode='w')
f.write("""name = 'nick'
pwd = '123'""")
f.close()

4、with open()方法

with open()方法不仅提供自动释放操作系统占用资源的方法,并且with open可以使用逗号分隔,一次性打开多个文件,实现文件的快速拷贝。

with open('32.txt', 'rt', encoding='utf8') as f:
    print(f.read())

with open('32.txt', 'rb') as fr, \
        open('35r.txt', 'wb') as fw:
    f.write(f.read())

二、文件的打开模式

文件操作的基础模式有四种

  • r模式:(默认)只读模式,只能读不能写,文件的指针将会放在文件的开头,文件不存在时报错。
  • w模式:覆盖写模式,文件不存在则创建, 并从开头开始编辑,即原有内容会被删除,即完全覆盖。
  • a模式:追加写模式:文件不存在则创建,存在则在文件最后追加内容,就是说,新的内容将会被写入到已有内容之后。

文件读写内容的格式有两种

  • t模式为text (默认):文本模式
  • b模式为bytes:字节模式。

需要注意的是:t、b这两种模式均不能单独使用,都需要与r/w/a之一连用。

1、文件r打开模式

1、读文本

# rt: read by text
# windows的操作系统默认编码为gbk,因此需要使用utf8编码
f = open('32.txt', mode='rt', encoding='utf8')
data = f.read()
print(data) # nick最帅吗
print(type(data)} # <class 'str'>
f.close()

2、读字节

# rb: read by bytes
f = open('32.txt', mode='rb')
data = f.read()
print(data) # b'aaa\nbbb\nccc\nnick\xe6\x9c\x80\xe5\xb8\x85\xe5\x90\x97'
print(type(data)) # <class 'bytes'>
f.close()

3、for逐行读取,相当于readline。

fname = input("请输入要打开的文件名称:")
fo = open(fname, "r")
print(type(fo))  # <class '_io.TextIOWrapper'>
for line in fo:
    print(line)
fo.close()

4、读方法:

  • read(size):一次性读取文件的所有内容,如果给出参数,读入前size长度。
  • readline(size):读入一行内容,包括换行符为 '\n'。如果给出参数,读入该行前size长度。下次可以接着上次读完的地方继续读。f.readline() 如果返回一个空字符串, 说明已经已经读取到最后一行。
  • readlines([sizeint]):读取所有行并返回列表,若给定sizeint>0,返回总和大约为sizeint字节的行, 实际读取值可能比 sizeint 较大, 因为需要填充缓冲区。
f = open('32.txt', mode='rt', encoding='utf8')
print(f.readable())  #True 判断文件是否可读
data1 = f.readline()
data2 = f.readlines()
print(data1) # aaa
print(data2) # ['bbb\n', 'ccc\n', 'nick最帅吗']
f.close()

2、文件W打开模式

只能写,不能读,文件存在的时候回清空文件后再写入内容;文件不存在的时候会创建文件后写入内容。

1、文本模式

f = open('34w.txt', mode='wt', encoding='utf8')
print(f"f.readable(): {f.readable()}") #False
f.write('nick 真帅呀\n')  # '\n'是换行符
f.write('nick,nick, you drop, I drop.')
f.write('nick 帅的我五体投地')
f.flush()  # 立刻将文件内容从内存刷到硬盘
f.close()

2、字节模式

f = open('34a.txt', mode='wb')
f.write('nick 帅的我五体投地'.encode('unicode_escape') )  # 编码成bytes类型再写入
print(type('nick 帅的我五体投地'.encode('unicode_escape'))) #<class 'bytes'>
f.close()

注意:b模式是通用的模式,因为所有的文件在硬盘中都是以二进制的形式存储的。

需要注意的是:b模式读写文件,一定不能加上encoding参数,因为二进制无法再编码。

try:
    import requests

    response = requests.get( 'http://www.chenyoude.com/Python从入门到放弃/文件的三种打开模式-mv.jpg')
    data = response.content

    f = open('mv.jpg', 'wb')
    f.write(data)
    print('done...')
    f.close()
except Exception as e:
    print(e, '报错了,那就算了吧,以后爬虫处会详细介绍')

3、写方法:

  • write(s):将字符串写入文件,返回的是写入的字符长度。
  • writelines(lines):向文件写入一个多行字符串列表,如果需要换行则要自己加入每行的换行符。
  • flush():刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。

3、文件a打开模式

a: 可以追加。文件存在,则在文件的末端写入内容;文件不存在的时候会创建文件后写入内容。

# at
f = open('34a.txt', mode='at', encoding='utf8')
print(f.readable()) # False
f.write('nick 真帅呀\n')  # '\n'是换行符
f.write('nick,nick, you drop, I drop.')
f.write('nick 帅的我五体投地')
f.close()

4、+可读、可写

  • r+ :可读、可写。文件指针将会放在文件的开头。
  • rb+: 可读、可写二进制格式
  • w+: 可写、可读。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
  • wb+: 可写、可读 二进制格式
  • a+: 可追加、可读。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
  • ab+: 可追加、可读二进制格式
# r+t
with open('32.txt', 'r+', encoding='utf-8') as fr:
    print(fr.readable())  # True
    print(fr.writable())  # True

三、文件指针操作

但凡涉及文件指针的都是字节个数。

1、seek(offset, from_what) :改变当前文件操作指针的位置

from_what 的值, 如果是 0 表示开头, 如果是 1 表示当前位置, 2 表示文件的结尾,例如:

  • seek(x,0) : 从起始位置即文件首行首字符开始移动 x 个字符
  • seek(x,1) : 表示从当前位置往后移动x个字符
  • seek(-x,2):表示从文件的结尾往前移动x个字符

from_what 值为默认为0,即文件开头。

f.seek(0) # 回到文件开头

下面给出一个完整的例子:

f = open('32.txt', 'rb+')
print(f.write(b'0123456789abcdef')) # 16
print(f.seek(5))  # 移动到文件的第六个字节 # 5
print(f.read(1))  # b'5'
print(f.seek(-3, 2))  # 移动到文件的倒数第三字节 # 13
print(f.read(1)) # b'd'

2、tell():告诉文件当前位置。

每次统计都是从文件开头到当前指针所在位置

with open('32.txt', 'rb') as fr:
    fr.seek(4, 0)
    print(fr.tell() )  # 4

3、truncate([size]):截断

从文件的首行首字符开始截断,截断文件为 size 个字符,无 size 表示从当前位置截断;

截断之后后面的所有字符被删除,其中 Widnows 系统下的换行代表2个字符大小。

文件的打开方式必须可写,但是不能用w或w+等方式打开,因为那样直接清空文件了,所以truncate()要在r+或a或a+等模式下测试效果。它的参照物永远是文件头。

truncate()不加参数,相当于清空文件。

with open('32.txt', 'ab') as fr:
    fr.truncate(2)  # 截断2个字节后的所有字符,如果3个字节一个字符,只能截断2/3个字符,还会遗留1/3个字符,会造成乱码

四、文件修改的两种方式

以读的方式打开原文件,以写的方式打开一个新的文件,把原文件的内容进行修改(一行一行的修改或者全部修改),然后写入新文件,之后利用os模块的方法,把原文件删除,重命名新文件为原文件名,达到以假乱真的目的。

方式1、将硬盘存放的该文件的内容全部加载到内存,在内存中是可以修改的,修改完毕后,再由内存覆盖到硬盘(word,vim,nodpad++等编辑器)。

import os

with open('37r.txt') as fr, open('37r_swap.txt', 'w') as fw:
    data = fr.read()  # 全部读入内存,如果文件很大,会很卡
    data = data.replace('tank', 'tankSB')  # 在内存中完成修改

    fw.write(data)  # 新文件一次性写入原文件内容

# 删除原文件
os.remove('37r.txt')
# 重命名新文件名为原文件名
os.rename('37r_swap.txt', '37r.txt')

方式2、将硬盘存放的该文件的内容一行一行地读入内存,修改完毕就写入新文件,最后用新文件覆盖源文件。

import os

with open('37r.txt') as fr, open('37r_swap.txt', 'w') as fw:
     for line in fr: # 循环读取文件内容,逐行修改
        line = line.replace('jason', 'jasonSB')
        fw.write(line)  # 新文件写入原文件修改后内容

os.remove('37r.txt')
os.rename('37r_swap.txt', '37r.txt')

五、os文件处理模块

os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口,多用于文件处理。

import os

1、os模块

  • os.getcwd():获取当前工作目录,即当前python脚本工作的目录路径
  • os.chdir("dirname"):改变当前工作目录;相当于shell下cd
  • os.curdir:返回当前目录: ('.')
  • os.pardir:获取当前目录的父目录字符串名:('..')
  • os.listdir('dirname'):列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
  • os.chmod(path, mode):更改权限
  • os.mkdir('dirname'):生成单级目录;相当于shell中mkdir dirname
  • os.makedirs('dirname1/dirname2'):可生成多层递归目录
  • os.remove(path):删除路径为path的文件。如果path 是一个文件夹,将抛出OSError; 查看下面的rmdir()删除一个 directory。
  • os.removedirs('dirname1'):若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
  • os.rmdir('dirname'):删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
  • os.rename("oldname","newname"):重命名文件/目录
  • os.renames(old, new):递归地对目录进行更名,也可以对文件进行更名。
  • os.stat('path/filename'):获取文件/目录信息
  • os.sep:输出操作系统特定的路径分隔符,win下为"\",Linux下为"/"
  • os.linesep:输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
  • os.pathsep:输出用于分割文件路径的字符串 win下为;,Linux下为:
  • os.name:输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
  • os.system("bash command"):运行shell命令,直接显示
  • os.environ:获取系统环境变量

2、os.path 模块

主要用于获取文件的属性。

以下是 os.path 模块的几种常用方法:

  • os.path.abspath(path):返回path规范化的绝对路径
  • os.path.split(path):将path分割成目录和文件名二元组返回
  • os.path.splitdrive(path):一般用在 windows 下,返回驱动器名和路径组成的
  • os.path.splitext(path):分割路径,返回路径名和文件扩展名的元组
  • os.path.dirname(path):返回path的目录名。其实就是os.path.split(path)的第一个元素
  • os.path.basename(path):返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
  • os.path.exists(path):如果path存在,返回True;如果path不存在,返回False
  • os.path.isabs(path):如果path是绝对路径,返回True
  • os.path.isfile(path):如果path是一个存在的文件,返回True。否则返回False
  • os.path.isdir(path):如果path是一个存在的目录,则返回True。否则返回False
  • os.path.join(path1[, path2[, ...]]):将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
  • os.path.getatime(path):返回path所指向的文件或者目录的最后存取时间
  • os.path.getmtime(path):返回path所指向的文件或者目录的最后修改时间
  • os.path.getsize(path): 返回文件大小,如果文件不存在就返回错误

3、实例:

1、获取指定目录及其子目录下的 py 文件

import os
import os.path

"""获取指定目录及其子目录下的 py 文件路径说明:l 用于存储找到的 py 文件路径 get_py 函数,递归查找并存储 py 文件路径于 l"""
l = []

def get_py(path, l):
    file_list = os.listdir(path)  # 获取path目录下所有文件
    for filename in file_list:
        path_tmp = os.path.join(path, filename)  # 获取path与filename组合后的路径
        if os.path.isdir(path_tmp):  # 如果是目录
            get_py(path_tmp, l)  # 则递归查找
        elif filename[-3:].upper() == '.PY':  # 不是目录,则比较后缀名
            l.append(path_tmp)

path = input('请输入路径:').strip()
get_py(path, l)
print('在%s目录及其子目录下找到%d个py文件\n分别为:\n' % (path, len(l)))
for filepath in l:
    print(filepath + '\n')

2、显示所有视频格式文件,mp4,avi,rmvb

import os

vedio_list = []

def search_file(start_dir, target) :
    os.chdir(start_dir)

    for each_file in os.listdir(os.curdir) :
        ext = os.path.splitext(each_file)[1]
        if ext in target :
            vedio_list.append(os.getcwd() + os.sep + each_file + os.linesep)
        if os.path.isdir(each_file) :
            search_file(each_file, target) # 递归调用
            os.chdir(os.pardir) # 递归调用后切记返回上一层目录

start_dir = input('请输入待查找的初始目录:')
program_dir = os.getcwd()

target = ['.mp4', '.avi', '.rmvb']

search_file(start_dir, target)

f = open(program_dir + os.sep + 'vedioList.txt', 'w')
f.writelines(vedio_list)
f.close()

3、批量修改文件名

import os

path = input('请输入文件路径(结尾加上/):')

# 获取该目录下所有文件,存入列表中
fileList = os.listdir(path)

n = 0
for i in fileList:
    # 设置旧文件名(就是路径+文件名)
    oldname = path + os.sep + fileList[n]  # os.sep添加系统分隔符

    # 设置新文件名
    newname1 = path + os.sep + 'a' + str(n + 1) + '.JPG'

    os.rename(oldname, newname1)  # 用os模块中的rename方法对文件改名c:\
    print(oldname, '======>', newname1)

    n += 1

七、glob模块:使用通配符查找文件

用它可以查找符合特定规则的文件路径名。跟使用windows下的文件搜索差不多。

查找文件只用到三个匹配符:“*”, “?”, “[]”。

  • “*”:匹配0个或多个字符;
  • “?”:匹配单个字符;
  • “[]”:匹配指定范围内的字符,如:[0-9]匹配数字。

1、glob.glob:返回所有匹配的文件路径列表。

它只有一个参数pathname,定义了文件路径匹配规则,这里可以是绝对路径,也可以是相对路径。

输出:类型是list型,然后就是输出相关的文件路径了

import glob

file = glob.glob(r'C:\工具\*\*\pan*.exe')
print(type(file))  # <class 'list'>
print(file)  # ['C:\\工具\\PanDownload_v2.1.3\\PanDownload\\PanDownload.exe']

#获取上级目录的所有.py文件
print (glob.glob(r'../*.py')) #相对路径

2、glob.iglob:获取一个可遍历对象,使用它可以逐个获取匹配的文件路径名。

与glob.glob()的区别是:glob.glob同时获取所有的匹配路径,而glob.iglob一次只获取一个匹配路径。

下面是一个简单的例子:

import glob

#父目录中的.py文件
f = glob.iglob(r'../*.py')
print ( f ) # <generator object iglob at 0x00B9FF80>
for py in f:
   print  (py)

到此这篇关于Python文件处理的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Python 文件处理之open()函数

    目录 1.文件处理 2.Python文件写入 3.创建新文件 4.删除文件 实例 删除文件夹 前言: 文件处理是任何 Web 应用程序的重要组成部分. Python 有几个用于创建.读取.更新和删除文件的函数. 1.文件处理 在 Python 中使用文件的关键函数是 open() 函数. 有四种打开文件的不同方法(模式): "r" - 读取 - 默认值.打开文件进行读取,如果文件不存在则报错. "a" - 追加 - 打开供追加的文件,如果不存在则创建该文件. &qu

  • 详解Python的文件处理

    目录 先学会文件的读写! 我们看看一些文件操作示例吧 读取文件数据 写数据简单展示 按行读取 总结 先学会文件的读写! 比如像以前在学校读书的时候,第一门编程课设计要求是制作学生管理系统. 这就需要使用文件来处理(也可以用数据库,但是一般C语言都是很多计算机系新生的首选语言,这时候大概率也不知道数据库). python 最常用的是open和write函数,如下: #open函数:接收一个文件名,还有其他参数可省略不写. one_file = open('myfile.txt') #读取数据赋值给

  • Python文件及目录处理的方法

    目录 一.目录操作 1. 获取当前代码路径 2. 获取当前文件__file__的所在目录 3. 获取当前文件名名称 4. 拼接路径 5. 创建目录 二.文件操作 1. 创建文本文件 2. 判断文件是否存在 3. 判断文件属性 4. 打开文件 5. 写文件 6. 读文件 7. with语句 下面先来介绍python目录处理相关方法. 一.目录操作 1. 获取当前代码路径 test_folder.py import os import sys print(__file__) print(sys.ar

  • python文件处理笔记之文本文件

    目录 1. 建立文件 1.1 文本文件代码实现 1.2 代码编写分析 2. 基本的读写文件 2.1 用文件对象write(s)方法写内容 2.2 用文件对象read()方法读取内容 2.3 连续用read()方法.write()方法操作文件 3. 复杂的读写文件 1.一次写入多行 2.一次读一行 3.以列表格式读取多行 4.连续读特定字节数量的内容 5.在指定位置读内容 4. 文件异常处理 5. 文件与路径 5.1 与路径相关的操作 获取程序运行的当前路径 5.2 动态指定路径下建立新文件 总结

  • python文件处理详解

    目录 文件操作 1.txt文件 打开文件 2.数据维度 3.Excel文件 总结 文件操作 此为本人学习python过程中的笔记,将持续更新,欢迎提问指正. 1.txt文件 1.文本文件 txt 2.二进制文件 图片视频 操作流程打开--操作--关闭 打开文件 变量名 = open(文件路径及文件名,模式) 操作文件 变量名.close 路径使用 \\ 或 / 模式 描述 r 只读 w 覆盖写, x 创建写,创建文件 a 追加写 b 二进制文件模式 t 文本文件模式 + 与r/w/x/a一同使用

  • python基础之文件处理知识总结

    一.open()方法 python open()方法用于打开一个文件,并返回文件对象,在对文件处理的过程中都需要用到这个函数,如果文件无法打开,会抛出OSError. 注意:使用open()方法的时候一定到保证关闭文件对象,文件里面的内容才会被保存,关闭文件需要调用close()方法. open()方法常用的形式是接收两个参数:文件名(file)和模式(mode) 基本语法: open(file,mode='r') 完整的语法: open(file,mode='r',buffering=1,en

  • Python文件的操作处理详解

    目录 1.使用open()函数打开文件夹 2.文件的操作 3.使用File操作文件 3.1File对象的介绍 总结 1.使用open()函数打开文件夹 在读取一个文件的内容之前,需要先打开这个文件.在Python程序中可以通过内置函数open()来打开一个文件程序中,,并用相关的方法读或写文件文件中的内容以供程序的处理和使用,同时可以将文件看作Python中的一种数据类型.是用函数open()的语法格式如下. open(filename, mode='r', buffering=None, en

  • python文件处理--文件读写详解

    目录 1. 读取文件 2. 写入文件 总结 1. 读取文件 文件读取很简单,就三步. 第一:在Windows的记事本中直接输入"愿你出走半生归来仍是少年!" 第二:通过代码读取文件 步骤: 1.使用open()函数打开文件. myfile = open(r'test.txt','r') myfile是变量,存放读取的文件. 第一个r是固定符号(原生字符). 'test.txt'是需要读取文件的文件名,在这里, readfile.py文件与test.txt文件需要放在同一文件夹内. 最后

  • Python中的os.path路径模块中的操作方法总结

    解析路径 路径解析依赖与os中定义的一些变量: os.sep-路径各部分之间的分隔符. os.extsep-文件名与文件扩展名之间的分隔符. os.pardir-路径中表示目录树上一级的部分. os.curdir-路径中当前目录的部分. split()函数将路径分解为两个单独的部分,并返回包含这些结果的tuple.第二个元素是路径的最后部分,地一个元素是其他部分. import os.path for path in [ '/one/two/three', '/one/two/three/',

  • python sys,os,time模块的使用(包括时间格式的各种转换)

    sys模块 sys.argv: 实现从程序外部向程序传递参数. 位置参数argv[0]代表py文件本身,运行方法 python xx.py 参数1,参数2 .. self = sys.argv[0] name = sys.argv[1] age = sys.argv[2] print self, name, age sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii. print sys.getdefaultencoding() sys.setdefaul

  • Python文件处理、os模块、glob模块

    目录 一.文件基本的操作 1.open() 打开文件 2.read() 读文件 3.write()写文件: 4.with open()方法 二.文件的打开模式 1.文件r打开模式 1.读文本 2.读字节 3.for逐行读取,相当于readline. 4.读方法: 2.文件W打开模式 1.文本模式 2.字节模式 3.写方法: 3.文件a打开模式 4.+可读.可写 三.文件指针操作 1.seek(offset, from_what) :改变当前文件操作指针的位置 2.tell():告诉文件当前位置.

  • Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)

    使用Python过程中,经常需要对文件和目录进行操作.所有file类/os/os.path/shutil模块时每个Python程序员必须学习的. 下面通过两段code来对其进行学习. 1. 学习 file对象 2. 学习os/os.path/shutil模块 1.file对象学习: 项目中需要从文件中读取配置参数,python可以从Json,xml等文件中读取数据,然后转换成Python的内容数据结构. 下面以Json文件为例,实现从Json文件中获取配置参数. code运行环境:python2

  • Python学习笔记之读取文件、OS模块、异常处理、with as语法示例

    本文实例讲述了Python学习笔记之读取文件.OS模块.异常处理.with as语法.分享给大家供大家参考,具体如下: 文件读取 #读取文件 f = open("test.txt","r") print(f.read()) #打印文件内容 #关闭文件 f.close() 获取文件绝对路径:OS模块 os.environ["xxx"]  获取系统环境变量 os.getcwd 获取当前python脚本工作路径 os.getpid() 获取当前进程ID

  • 在Python中使用glob模块查找文件路径的方法

    glob模块是最简单的模块之一,内容非常少.用它可以查找符合特定规则的文件路径名.跟使用windows下的文件搜索差不多.查找文件只用到三个匹配符:"*", "?", "[]"."*"匹配0个或多个字符:"?"匹配单个字符:"[]"匹配指定范围内的字符,如:[0-9]匹配数字. glob.glob 返回所有匹配的文件路径列表.它只有一个参数pathname,定义了文件路径匹配规则,这里可

  • 简单掌握Python中glob模块查找文件路径的用法

    glob使用UNIX shell规则查找与一个模式匹配的文件名.只要程序需要查找文件系统中名字与某个模式匹配的一组文件,就可以使用这个模块. glob的模式规则与re模块使用的正则表达式不相同.glob模式遵循标准UNIX路径扩展规则.只是用几个特殊字符来实现两个不同的通配符和字符区间.模式规则要应用于文件名中的段.模式中的路径可以是相对路径或绝对路径. shell变量名和波浪线都不会扩展. 基本用法 1.glob.glob(pathname), 返回所有匹配的文件路径列表.它只有一个参数pat

  • python通配符之glob模块的使用详解

    通配符是一些特殊符号,主要有星号(*)和问号(?),用来模糊搜索文件,"*"可以匹配任意个数个符号, "?"可以匹配单个字符. 当查找文件夹时,可以使用它来代替一个或多个真正字符:当不知道真正字符或者需要匹配符合一定条件的多个目标文件时,可以使用通配符代替一个或多个真正的字符. 英文 "globbing"意为统配,python在模块glob中定义了glob()函数,实现了对目录内容进行匹配的功能,glob.glob()函数接受通配模式作为输入,并

  • Python模块glob函数示例详解教程

    目录 本文大纲 支持4个常用的通配符 1)glob()函数 2)iglob()函数 3)escape()函数 总结 本文大纲 glob模块也是Python标准库中一个重要的模块,主要用来查找符合特定规则的目录和文件,并将搜索的到的结果返回到一个列表中.使用这个模块最主要的原因就是,该模块支持几个特殊的正则通配符,用起来贼方便,这个将会在下方为大家进行详细讲解. 支持4个常用的通配符 使用glob模块能够快速查找我们想要的目录和文件,就是由于它支持*.**.? .[ ]这三个通配符,那么它们到底是

  • Python中os和shutil模块实用方法集锦

    复制代码 代码如下: # os 模块 os.sep 可以取代操作系统特定的路径分隔符.windows下为 '\\'os.name 字符串指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是 'posix'os.getcwd() 函数得到当前工作目录,即当前Python脚本工作的目录路径os.getenv() 获取一个环境变量,如果没有返回noneos.putenv(key, value) 设置一个环境变量值os.listdir(path) 返回指定目录

随机推荐