在特定扩展名的文件中搜索字符串后提取文件夹名称

拉加夫123

我是python编程的新手。我正在尝试做工具来递归搜索特定扩展名的文件中的字符串后提取程序名称(文件夹名称)

在打印具有在xml文件中搜索的字符串的文件的路径后,我得到了这样的数据。现在我要提取程序名称,例如Program1,program 2,program

import os
search_path = input("Enter directory path to search : ")

for folder, dirs, files in os.walk(search_path):
    for file in files:
        if file.endswith('.xml'):
            fullpath = os.path.join(folder, file)  
            with open(fullpath, 'r') as f:
                for line in f:
                    if "test" in line:
                        print(fullpath)

output is like
C:\test1\tool\Program1\SETUP1\reports\XMLs\test1.xml
C:\test1\tool\Program1\SETUP1\reports\XMLs\test1.xml
C:\test1\tool\Program1\SETUP1\reports\XMLs\test1.xml
C:\test1\tool\program2\SETUP2\reports\XMLs\test2.xml
C:\test1\tool\program2\SETUP2\reports\XMLs\test2.xml
C:\test1\tool\program3\SETUP3\reports\XMLs\test2.xml
C:\test1\tool\program3\SETUP3\reports\XMLs\test3.xml
C:\test1\tool\program3\SETUP3\reports\XMLs\test3.xml
data
i want to extract the program name and setup  from above data 
'''
通道3

根据戴维斯·赫林Davis Herring)在评论中提供的意见。我认为这应该为您工作。

os.path.split()Python中的方法用于将路径名称拆分为一对头部和尾部。在这里,尾部是最后一个路径名组件,而头是导致该名称的所有内容。例如,考虑以下路径'/home/user/Desktop/file.txt'

HEAD: '/home/user/Desktop/file.txt'TAIL: 'file.txt'

os.path.split(fullpath) 将给出这样的输出 (C:\\test1\\tool\\program3\\SETUP3\\reports\\XMLs, 'test1.xml')

注意:如果路径名以斜杠结尾\,则tail将为空,如果路径名中没有斜杠,则head为空。

os.path.split() 返回一个元组,其头部位于索引0中,尾部位于索引1中。现在只需解析索引0中的字符串即可获得所需的文件夹。

head_tail=os.split.path(fullpath)  #head_tail=('C:\\test1\\tool\\program3\\SETUP3\\reports\\XMLs', 'test1.xml')

folder=head_tail[0].split('\\') #head_tail[0]='C:\\test1\\tool\\program3\\SETUP3\\reports\\XMLs'

#folder=['C:', 'test1', 'tool', 'Program1', 'SETUP1', 'reports', 'XMLs', 'test1.xml']

print(folder[3],end=",")

现在输出将打印出来program1。将此作为函数。将所有路径传递给函数,您的输出将看起来像您想要的,即Program1, program 2, program3,

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

PHP搜索文件夹中具有特定后缀和扩展名的文件

如何找到具有特定文本字符串和扩展名的文件夹中的所有文件?

Bash:复制根/当前文件夹中具有相同扩展名的所有文件,但文件名包含某些字符串的文件除外

从字符串中提取文件扩展名

从文件夹中的文件名(没有文件扩展名)创建字符串列表的Pythonic方法?

搜索并替换文件名中的字符串,而不会影响包含相同字符串的文件夹名称

Findstr :在没有扩展名的文件中搜索字符串

搜索文件夹中包含服务器名称和扩展名的文件,然后选择最后修改的文件,并在文件名中获取日期

在Windows中搜索和查找不带扩展名的文件或文件夹的方法

查找具有多个扩展名和多个字符串格式的文件夹

如何遍历文件夹中的文件以移动具有特定扩展名的每个文件

如何删除特定文件夹中具有特定扩展名的所有文件?

如何在 flutter 中显示资产文件夹中文件的名称(不带扩展名)

更改文件夹中的某些文件扩展名

Shell脚本:计算单个文件夹中特定类型扩展名中的文件数

如何从Andorid中的文件夹中删除具有特定扩展名的文件

在AutoIT中更改特定文件夹扩展名中的所有文件

删除所有子文件夹和文件,但父文件夹中的特定扩展名除外

查找文件夹中不是特定类型/扩展名的所有文件?

在cmd中如何列出包含具有特定扩展名的文件的文件夹?

bash从特定文件扩展名在文件夹中创建子目录

在Groovy中打印包含特定扩展名文件的文件夹

如何使用 Python 更改文件夹中的特定文件扩展名?

Atom-在所选文件夹中按扩展名搜索

Excel VBA:文件夹名称未知但扩展名已知的文件夹路径

在具有特定扩展名的所有文件夹和子文件夹中运行命令

如何通过批处理文件在文件扩展名后附加字符串

具有特定字符串或特定扩展名的文件名的 for 循环

Windows仅在特定的文件夹名称中搜索特定的文件名