在特定m之前提取字符串

2024-09-21 08:49:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我在两个单独的目录中有两个文件。来自directory1的文件始终以_config.txt结尾。来自directory2的文件始终以_other.txt结尾。例如,ABC_config.txt将来自directory1ABC_other.txt将来自directory2。是否有一种方法可以在_标记之前提取字符串,以便比较两个名称,而不必检查"ABC"是否在file1file2中,然后进行比较? 下面的函数将比较_标记之前具有相同内容的两个文件

def process(directory1, directory2):
     for file1 in os.listdir(directory1):
        for file2 in os.listdir(directory2):
            if .....
                file1 = os.path.join(directory1, file1)
                file2 = os.path.join(directory2, file2)
                helperProcess(directory1, directory2, file1, file2) #compares two files

Tags: 文件in标记txtconfigforos结尾
2条回答

使用str.split()

filename = 'ABC_config.txt.'
print filename.split('_')[0]

这将产生输出 ABC

>>> s1 = 'ABC_config.txt'
>>> s2 = 'ABC_other.txt'
>>> s1.split('_')[0] == s2.split('_')[0]
True

您可以使用ntpath从其路径提取文件名

>>> import ntpath
>>> ntpath.basename("/home/user/file.txt")

相关问题 更多 >

    热门问题