首页 > 编程语言 >python 中 fnmatch模块, textwrap 模块

python 中 fnmatch模块, textwrap 模块

时间:2023-06-29 18:44:12浏览次数:44  
标签:python text textwrap print 模块 fnmatch hello

python 中 fnmatch模块, textwrap 模块

fnmatch模块
查找文件
使用fnmatch来查找特定的文件,大部分情况下,使用字符串匹配查找特定的文件就能满足需求,如果需要更加灵活的字符串匹配,可以使用标准库中的fnmatch库,这个库专门用来进行文件名匹配,支持使用通配符进行文件名的匹配

1、fnmatch支持的通配符如下

# fnmatch支持的通配符如下
# *           匹配任何数量的字符
# ?           匹配单个字符
# [sep]       匹配sep中的字符
# [!sep]      匹配除了sep以为的任何字符

2、fnmatch的常用方法介绍

# fnmatch常用的方法
# fnmatch.fnmatch()    判断文件名是否符合特定的模式,区分大小写
# fnmatch.fnmatchcase()  判断文件名是否符合特定的模块,不区分大小写
# fnmatch.filter()       返回输入列表中,符合特定模式的文件名列表
# fnmatch.translate()     将通配符匹配模式转换成正则表达式

3、fnmatch.fnmatch方法介绍

for file in os.listdir("."):
    if fnmatch.fnmatch(file,"*.html"):
        print(file)
 
    elif fnmatch.fnmatch(file,"[a-z]??.py"):
        print(file,"hahah")
    elif fnmatch.fnmatch(file,"[!a-o]*"):
        print(file)
    else:
        pass

4、fnmatch.filter方法介绍

# filter方法和fnmatch一样,只是filer需要传递一个文件的列表进行,返回一个符合匹配规则的列表
print(fnmatch.filter(os.listdir("."),"*py"))

textwrap 模块

textwrap 模块提供了一些快捷函数,以及可以完成所有工作的类 TextWrapper。 如果你只是要对一两个文本字符串进行自动换行或填充,快捷函数应该就够用了;否则的话,你应该使用 TextWrapper 的实例来提高效率。

textwrap.wrap(text, width=70, **kwargs)
对 text (字符串) 中的单独段落自动换行以使每行长度最多为 width 个字符。 返回由输出行组成的列表,行尾不带换行符。

可选的关键字参数对应于 TextWrapper 的实例属性,具体文档见下。 width 默认为 70。

请参阅 TextWrapper.wrap() 方法了解有关 wrap() 行为的详细信息。
textwrap.dedent(text)
移除 text 中每一行的任何相同前缀空白符。

这可以用来清除三重引号字符串行左侧空格,而仍然在源码中显示为缩进格式。

请注意制表符和空格符都被视为是空白符,但它们并不相等:以下两行 "  hello" 和 "\thello" 不会被视为具有相同的前缀空白符。

只包含空白符的行会在输入时被忽略并在输出时被标准化为单个换行符。

例如

def test():
    # end first line with \ to avoid the empty line!
    s = '''\
    hello
      world
    '''
    print(repr(s))          # prints '    hello\n      world\n    '
    print(repr(dedent(s)))  # prints 'hello\n  world\n'

textwrap.indent(text, prefix, predicate=None)
将 prefix 添加到 text 中选定行的开头。

通过调用 text.splitlines(True) 来对行进行拆分。

默认情况下,prefix 会被添加到所有不是只由空白符(包括任何行结束符)组成的行。

例如

>>>
>>> s = 'hello\n\n \nworld'
>>> indent(s, '  ')
'  hello\n\n \n  world'
可选的 predicate 参数可用来控制哪些行要缩进。 例如,可以很容易地为空行或只有空白符的行添加 prefix:

>>>
>>> print(indent(s, '+ ', lambda line: True))
+ hello
+
+
+ world

https://www.cnblogs.com/bainianminguo/p/10708306.html

https://docs.python.org/zh-cn/3.7/library/textwrap.html

标签:python,text,textwrap,print,模块,fnmatch,hello
From: https://www.cnblogs.com/michaelcjl/p/17514970.html

相关文章

  • Python seaborn库绘图
    一直没搞清楚这个库到底是怎么工作的贴个链接在这里,及时整理!参考链接https://zhuanlan.zhihu.com/p/75477750https://zhuanlan.zhihu.com/p/158751106......
  • Python报错 | PermissionError: [Errno 13] Permission denied: 'xxx'
    报错信息使用python对模型进行输出文件的过程中,报如下错误:PermissionError:[Errno13]Permissiondenied:'xxx'错误原因报错翻译过来是:权限错误:[errno13]权限被拒绝:错误产生的原因是文件无法打开,可能产生的原因是文件找不到,或者被占用,或者无权限访问,或者打开的不是文......
  • 【python爬虫案例】用python爬豆瓣电影TOP250排行榜!
    一、爬虫对象-豆瓣电影TOP250前几天,我分享了一个python爬虫案例,爬取豆瓣读书TOP250数据:【python爬虫案例】用python爬豆瓣读书TOP250排行榜!今天,我再分享一期,python爬取豆瓣电影TOP250数据!爬虫大体流程和豆瓣读书TOP250类似,细节之处见逻辑。首先,打开豆瓣电影TOP250的页面:https......
  • python线程简单使用
    简单使用python定义多线程列子,供读者参考:在下面的示例中,我们定义了两个函数func1和func2,它们都将在新线程中运行。然后,我们使用threading.Thread构造函数创建了两个新线程,并将func1和func2函数作为目标。最后,我们启动了两个线程,并使用join方法等待它们结束。但需要注意的是,如......
  • python基础day35 Mixins机制和元类
    Mixins机制classVehicle:#交通工具passclassFlyMinix():deffly(self):'''飞行功能相应的代码'''print("Iamflying")'''1.主类:就是大部分都是主要的功能2.辅类:就是一些辅助的功能3.辅类的类名也......
  • python打包exe总结 pyinstaller py2exe
    Python打包exe有挺多可以用的如pyinstallerpy2exe cx_Freezenuitkapy2apppy0xidizer cx_Freeze和nuitka没用过py2app是打包Mac程序的py0xidizer是打包嵌入式的占用空间少感兴趣可以自行了解 这篇文章记录一下pyinstaller和py2exe的用法 以便以后查找  注:以下都......
  • npm install报gyp ERR! stack Error: Can't find Python executable "python", you ca
    1gypERR!stackError:Can'tfindPythonexecutable"python",youcansetthePYTHONenvvariable.2gypERR!stackatPythonFinder.failNoPython(/Users/scott/project/dx_project/front_project/workflow-frontend-elem/node_modules/node-......
  • Python Flask - 快速构建Web应用详解
    本文将详细探讨PythonFlaskWeb服务。我将首先简单介绍Flask,然后将逐步进入Flask中的路由、模板、表单处理以及数据库集成等高级概念,目标是能够让大家了解并掌握使用Flask来创建动态Web应用的技巧。1.Flask简介Flask是一个轻量级的Web服务器网关接口(WSGI)web应用框架。它被设计......
  • Python错误:requests请求https网站报错SSLError
    问题描述:用requests包请求https的网站时,经常会遇到证书问题,也就是常见的SSLerror:requests.exceptions.SSLError:HTTPSConnectionPool(host='www.xxx.com',port=443):Maxretriesexceededwithurl:xxx.html(CausedbySSLError(SSLCertVerificationError(1,'[S......
  • Python错误:requests请求设置verify=False时日志中有warning信息
    问题描述:在requests做请求的时候,为了避免ssl认证,可以将verify=False,但是这么设置会带来一个问题,日志中会有大量的warning信息,如下面:D:\ProgramFiles\Python\lib\site-packages\urllib3\connectionpool.py:1045:InsecureRequestWarning:UnverifiedHTTPSrequesti......