首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python-修改目录下带有特定字符的所有文件内容,文件名字,目录名字

文章目录 问题 解决 问题 写了一个小工具,会检索给定目录下所有文件以及内容,目录的指定的字符,并替换想要的字符 同时会自动判断文档的格式是utf-8,gbk,或者其他类型,保证不读取出错 比如 check_word...allFileNum = 0 myfile=[] mydir=[] def get_encode(file_my): file_my = open(file_my,mode='rb') # 以二进制模式读取文件...检测文件内容 return result["encoding"] def printPath(level, path): global allFileNum ''''' 打印一个目录下的所有文件夹和文件...''' # 所有文件夹,第一个字段是次目录的级别 dirList = [] # 所有文件 fileList = [] # 返回一个列表,其中包含在目录条目的名称...",'-' * (int(dirList[0])), dl) # 打印目录下的所有文件夹和文件,目录级别+1 printPath((int(dirList

2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    史上最全VIM使用手册

    +#:打开文件后,直接让光标处于第#行的行首; +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行; 模式转换: 编辑模式:默认模式 编辑模式 -> 输入模式: i:insert...[,end_pos] #:特定的第#行,例如5即第5行; ....1,$:范围为第一行至最后一行 %:全文 /pattern/:从光标所在处起始向文件尾部第一次被模式所匹配到的行; /first/,$:从光标所在处起始,第一次由pat1匹配到的行开始,至最后一行中间的所有行.../pat1/,/pat2/:从光标所在处起始,第一次由pat1匹配到的行开始,至第一次由pat2匹配到的行结束之间的所有行; 可同编辑命令一同使用,实现编辑操作: d:地址定界后接...PATTERN:从当前光标所在处向文件首部查找能够被当前模式匹配到的所有字符串; n:下一个,与命令方向相同; N:上一个,与命令方向相反; (3) 查找并替换 s:末行模式的命令; 使用格式:

    3K10

    【PDF拆分+识别+重命名+导出表格】PDF文件拆分为单独页面后批量提取内容重名命,将所有的区域的内容保存后导出表格,基于 WPF 和腾讯云的 实现方案

    本方案基于 WPF(Windows Presentation Foundation)构建用户界面,方便用户操作,同时借助腾讯云提供的云服务能力,实现 PDF 文件的拆分、内容识别、重命名以及信息导出表格等功能...编写代码调用 OCR 接口对拆分后的每个 PDF 页面进行文字识别。...:根据识别出的文字内容,提取关键信息用于重命名文件。...例如,如果识别内容中包含日期和客户名称,可将文件名重命名为 “日期_客户名称.pdf”。...,例如通过正则表达式匹配日期和客户名称 // 示例:假设文本中日期格式为YYYY-MM-DD,客户名称在特定关键词后 string datePattern = @"\d{4}-\d{2}-\

    8210

    linux文本编辑器-VIM基本使用方法

    +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首 vim + file 直接打开file,光标在最后一行 三种主要模式:          命令模式:移动光标,剪切粘贴等...模式转换:          a       在光标后插入内容          A       在光标所在行末尾插入内容          i        从当前光标前插入内容          I...                   表示最后一行          :%                   表示全文,相当于1,$          /p1,/p2              第一次被p1匹配到的行到第一次被...p2匹配到的行 扩展模式字符串查找:          /world      从上向下查找world          ?...new                将当前行中查找到的第一个字符“old” 串替换为“new”          :s/old/new/g             将当前行中查找到的所有字符串“old

    97630

    根据正则表达式截取字串符,这个办法打败99%程序员

    作为一名程序员,常常会在以下情况下使用函数功能根据正则表达式截取字符串: 1.字符串处理:当需要使用正则表达式匹配和提取字符串中的特定模式时,可以使用该函数。...例如,可以从文本中删除不必要的字符或空格,或将特定格式的日期字符串转换为日期对象。 3.模式匹配:当需要匹配字符串中的特定模式时,可以使用正则表达式。...日志文件通常包含固定的格式和结构,使用正则表达式可以高效地提取所需的数据。 5.网络爬虫:在网络爬虫中,可以使用正则表达式来解析网页内容。例如,从网页HTML中提取特定标签之间的文本内容。...Matcher matcher = pattern.matcher(inputString); if (matcher.find()) { return matcher.group(); // 返回第一个匹配到的字串符...这个正则表达式将匹配以"W"开始,后面跟着一个或多个字母或数字的子字符串。因此,在这个示例中,"World"是唯一匹配的子字符串,并被返回和打印出来。

    69800

    Pandas文本处理双雄:extract + extractall

    ] 通过结果,我们可以发现2点: 当匹配多组规则的时候,如果没有匹配成功,则用NaN来代替 当第一组模式没有匹配成功的时候,第二组匹配无效 关于第2点:在c3中虽然后面的\d匹配到了数字,但是前面的[ab...,我们就能够观察到expand的作用: [e6c9d24ely1gzilahfae7j20uu0j6ta1.jpg] extractall函数 语法说明 extract只返回第一个匹配到的字符;extractall...将匹配所有返回的字符 Series.str.extractall(pat, flags=0) 参数的具体解释为: pat:字符串或者正则表达式 flags:整型 返回值一定是一个DataFrame数据框....jpg] 对比2 多组模式下的匹配: [e6c9d24ely1gzilhyqagmj20rm0lmq40.jpg] 对比3 多组模式下的匹配,且加上列名: [e6c9d24ely1gzilir7bznj20x60me0uf.jpg...,下面内容来自谷歌分析: 通配符 .

    1.3K10

    python基础——正则表达式

    一,什么是正则表达式 正则表达式(Regular Expression)是一种用于处理字符串的强大工具,它可以用来检查字符串是否符合某种模式、提取字符串中的特定部分或者替换字符串中的某些内容。...匹配成功则返回第一个匹配项(包含信息),匹配失败则返回None ●search(): 在字符串中搜索与正则表达式匹配的子字符串,返回第一个匹配项(包含信息),失败返回None。...●findall(): 在字符串中查找所有与正则表达式匹配的子字符串,并返回一个包含所有匹配项的列表,找不到则返回一个空列表。 三,元字符匹配 正则表达式的核心是用于构建模式的元字符。...0]:匹配除了0以外的所有字符 [^a-zA-Z]:匹配除了字母a-z和A-Z以外的所有字符。...(a-z和A-Z之间最好不要加,) 注意:{m,n}之间不要加逗号:a{1,2},b{1,3}【错误的】 3,边界匹配 ^[0-9]+$:从头开始匹配到结尾,中间出现1个或无数个0-9之间的数字

    11210

    【基础拾遗】编辑器之神-VIM

    +#:打开文件后,直接让光标处于第#行的行首 +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首; 模式转换 模式转换: 编辑模式 - - > 输入模式 i:insert...$:最后一行; %:全文;相当于(1,$) /pat1/,/pat2/:表示从第一次被pat1匹配到的行开始,一直到pat2匹配到的行结束 使用方式: 后跟一个编辑命令: d:删除指定范围的内容 y:复制指定范围的内容...w /PATH/TO/SOMEWHERE:将范围内的行另存至指定文件中; r /PATH/FROM/SOMEFILE:在指定位置插入指定文件中的所有内容; (2)....查找并替换 s:在末行模式下完成查找替换操作 s/要查找的内容/替换为的内容/修饰符 要查找的内容:可使用模式; 替换为的内容:不能使用模式,但可以使用\1, \2, …等后向引用符号;好可以使用"&...:qall 退出所有 2.

    1.3K50

    java正则表达式解析「建议收藏」

    给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”): 2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。...:ddd)(eee),可以用1获取(aaa)匹配到的内容,而3则获取到了(ccc)匹配到的内容,而 方括号是单个匹配,字符集/排除字符集/命名字符集 示例: 1、[0-3],表示找到这一个位置上的字符只能是...只匹配单个”o”,而”o+”匹配所有”o”。 . 匹配除”\r\n”之外的任何单个字符。若要匹配包括”\r\n”在内的任意字符,请使用诸如”[\s\S]”之类的模式。...预测先行不占用字符,即发生匹配后,下一匹配的搜索紧随上一匹配之后,而不是在组成预测先行的字符后。 (?!...预测先行不占用字符,即发生匹配后,下一匹配的搜索紧随上一匹配之后,而不是在组成预测先行的字符后。 x|y 匹配 x 或 y。例如,’z|food’ 匹配”z”或”food”。'

    1.2K40

    优秀攻城师必知的正则表达式语法

    预测先行不占用字符,即发生匹配后,下一匹配的搜索紧随上一匹配之后,而不是在组成预测先行的字符后。 (?!...预测先行不占用字符,即发生匹配后,下一匹配的搜索紧随上一匹配之后,而不是在组成预测先行的字符后。 x|y 匹配 x 或 y。例如,'z|food' 匹配"z"或"food"。'...当第一个满足的数据找到之后,程序仍然会继续在剩下部分中再次执行,直到遍历结束,所以这个过程是有可能匹配到多条数据的,如上面的输出就找到了两条符合的数据。...第一个 \d++@ 是占有模式,基本原理与贪婪模式的执行过程类似,但是唯一的区别就在于占有模式,在匹配不到数据的时候不会发生回溯,如第一个匹配的模式\d++@可以直接匹配到里面存在的两条数据然后输出,第二个同样是占有模式...因为\d++直接匹配完所有的数字,不会发生回溯,所以即使3存在也匹配不到。最后为了验证我们的想法,我们使用了贪婪模式的匹配,因为贪婪模式可以回溯,所以最终可以把123匹配到。

    1.3K30

    大厂面试与工作中常见的正则表达式题目

    i --执行忽略大小写的匹配 g --执行全局匹配(可以查看所有的匹配而不是只找到第一个匹配后就停止) m --执行多行匹配 1.2 test方法 test方法返回布尔值,用来验证字符串是否符合某个模式...2.3 replace方法 str.replace(‘搜索模式’,'替换的内容’); ?...replace方法的第二个参数可以使用$符号,用来指代所要替换的内容: $ ? replace方法的第二个参数也可以是函数,用于将第一个参数匹配到的值替换为函数返回值。 ?...它的第一个参数是整个匹配的内容,第二个参数是组匹配(这时有多少个组匹配就有多少个参数),此外最后还可以添加两个参数,倒数第二个参数是扑捉到的内容在整个字符串中的位置,最后一个参数是原字符串。 ?...上面的正则匹配/开始的字符串匹配到第一个.就停止了,http://长度为7,所以用了substr(7)之后就会返回子域名了。

    1.9K11

    在python中使用正则表达式

    (r'\d{2}','12c34d56e78').group(0) '12' group() 同group(0)就是匹配正则表达式整体结果,也就是所有匹配到的字符 group()其实更多的结合分组来使用...:仅仅是第一个) 序号 003 re.findall() 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表 注意:match 和 search 是匹配一次,而findall...repl : 替换的字符串,也可为一个函数。 string : 要被查找替换的原始字符串。 count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。...group()和groups() 一般用match()或search()函数匹配,得到匹配对象后, 需要用group()方法获得匹配内容; 同时也可以提取分组截获的字符串(正则表达式中()用来分组)..., 因为分组1进行非贪婪匹配,也就是满足分组2匹配的情况下,分组1尽可能少的匹配, 这样的话,上面分组2(\d*)会把所有数字(123)都匹配,所以分组1匹配到(abc)

    70510

    Django教程 —— 视图及URL

    请求者在浏览器地址栏中输入 URL ,请求到网站后,获取 URL 信息,然后与编写好的 URL配置 逐条匹配,如果匹配成功则调用对应的视图函数,如果所有的 URL配置都没有匹配成功,则返回 404 错误...意思就是当访问 http://127.0.0.1:8000/book 网址时, 截取后为 book , 然后在 urlpatterns 匹配列表中逐一匹配, 当匹配到 book 时符合匹配规则,让我们的...先拿 book/index 跟项目的 urls.py 进行匹对,开头匹配到了 book/ 然后就去 book.urls ,book应用下的 urls.py进行匹对。...它们不能替代基于功能的视图,但是与基于功能的视图相比具有某些区别和优势: 与特定HTTP方法(GET,POST等)相关的代码组织可以通过单独的方法而不是条件分支来解决。...as_view() 的类方法,该类方法返回一个函数,该请求可以在请求到达与关联模式匹配的 URL 时被调用。

    72620

    Sed命令的基本使用

    ,逐行进行 分为模式空间和保留空间 逐行处理,支持模式匹配(regex) 默认不处理源文件,仅对模式空间中的进行处理 处理结束后将模式空间中的结果输出到屏幕 Usage sed [option] 'AddressCommond.../,表示以root开始的行 /pattern1/,/pattern2/ 第一次被pattern1匹配到的行开始到被pattern2匹配到的行结束 LineNumber 指定某行 startLine, +...,内容是string i \string:在匹配的行前追加新行,内容是string r FILE:将指定的文件的内容添加到匹配的行之后 w FILE:将指定范围内的内容另存到指定的文件中 s /pattern.../ReplaceString/修饰符:将符合模式的字符串替换为ReplaceString(默认只替换每行中第一次被模式匹配到的串) 可以使用三个相同的字符来代替’/’,上面的字符串替换等价于s #pattern...#ReplaceString#修饰符 特别的可以使用&:表示整个模式匹配到的字符串 修饰符: g:全局替换 i:匹配时忽略大小写 Options -n:静默模式,不显示模式空间中的内容 -r:使用扩展的正则表达式

    1.2K60

    正则表达式学习笔记

    一、基础内容 我认为的基础内容包括以下7点,掌握后可以使用正则匹配很多内容。 1、位置 正则表达式表示位置的字符有^(表示字符串开始)、$(字符串结束)、\b(字符串开始或结束)。...(匹配0次或1次)、+(匹配1次或多次)、[](中括号内的内容匹配其中一个一次)、{m,n}(匹配m至n次,n省略则匹大于或等于m次,逗号也省略则匹配m次)。...7、分组 分组采用()(小括号)把内容放在里面,通常分组后可以加上表示数量的词,进行批量匹配。例如要匹配的内容是三个数字加一个字母a,一共匹配10次,可以用(\d{3}a){10}。...$matches[0]将包含完整模式匹配到的文本,$matches[1] 将包含第一个捕获子组匹配到的文本,以此类推。 函数返回:pattern 的匹配次数。...5) 验证邮箱信息、URL信息、数据类型等,均可以安装使用PHP的filter_var函数,该函数可以使用特定的过滤器过滤一个变量。

    1.2K120

    E4A正则表达式应用详解

    (英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。...正则表达式可以匹配一串字符串中的中文代码。并且以数组返回。而匹配的方法也非常的简单。就两个参数就可以完成中文字符串的匹配。这种功能经常被在我们要取出一些网页源码中特定的值。...=\\Q" & 右边文本 & "\\E)") 结束 函数       上面的取中间文本其实和第一个自动全部匹配的效果都差不多,只不过在取中间的时候,我们可以进行批量的取出例如某个符号直之间的值。...手动逐一匹配 事件 按钮3.被单击() 变量 内容 为 文本型 变量 位置 为 整数型 变量 结果 为 文本型 创建表达式("\\d",假,假) '\d表示匹配一个数字,由于\是E4A中的转义符号...,所以要在前面再加一个\ 开始匹配("a1bc2def3g") 判断循环首 匹配下一个() = 真 内容 = 取匹配文本() '取匹配到的文本 位置 = 取匹配开始位置() '取匹配到的文本在文本中的开始位置

    1.5K30

    Java 正则表达式:详解与应用

    前言正则表达式是一种用于描述字符串模式的强大工具,在Java中,通过内置的java.util.regex包,我们可以轻松地进行字符串匹配和替换操作。...本文将为您详细介绍Java中的正则表达式,并提供一些实际应用示例。一、基本概念正则表达式由普通字符和特殊字符组成,用于定义字符串的模式。...在Java中,我们可以使用String类的matches()方法、Pattern类和Matcher类来处理正则表达式。普通字符 普通字符是指除了特殊字符之外的所有字符,包括字母、数字和标点符号。...例如,表达式"hello"将匹配字符串中的"hello"文本。特殊字符 特殊字符具有特定的含义和功能。常用的特殊字符包括:. :匹配除换行符外的任意字符。\d :匹配任意数字字符。...:" + matcher.group());}以上代码将输出:匹配到:123匹配到:456三、应用示例正则表达式在实际应用中非常广泛,可以用于数据校验、文本搜索、字符串替换等场景。

    47110
    领券