在特定标记之前提取字符串

时间:2016-04-06 12:21:21

标签: 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

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

使用str.split()

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

这会产生输出 ABC