我在两个单独的目录中有几个文件。 directory1
中的文件始终以_config.txt
结尾。 directory2
中的文件始终以_other.txt
结尾。例如,ABC_config.txt
来自directory1
而ABC_other.txt
来自directory2
。有没有办法可以在_
标记之前提取字符串,这样我就可以比较两个名称,而不必检查"ABC"
是否在file1
和file2
然后进行比较?
下面的函数将在_
标记之前对具有相同内容的两个文件进行比较。
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
答案 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)