Python 比较不同目录中两个文件的名称

Python 比较不同目录中两个文件的名称,python,Python,所以我要浏览两个目录。对于找到的每个文件,我都打印它们的名称。我想做的是做一个比较,但是我不能前进,因为我的if语句有问题。假设我在两个目录中都有一个名为some的txt文件。如果在文件名中找到some,则打印找到的。那是分开的。我的问题是和操作员。这两个文件都被命名为“some.txt”,但我什么也得不到。就像我说的,如果我去掉和操作符,它就会起作用 def compare(directory1, directory2): for file1, file2 in zip(os.list

所以我要浏览两个目录。对于找到的每个文件,我都打印它们的名称。我想做的是做一个比较,但是我不能前进,因为我的if语句有问题。假设我在两个目录中都有一个名为
some
的txt文件。如果在文件名中找到
some
,则打印找到的。那是分开的。我的问题是
操作员。这两个文件都被命名为
“some.txt”
,但我什么也得不到。就像我说的,如果我去掉
操作符,它就会起作用

def compare(directory1, directory2):
    for file1, file2 in zip(os.listdir(directory1),(os.listdir(directory2))):
        if "some" in file1 and "some" in file2:
            print("found")

在这种情况下不要使用zip。按照这种方式,您只需要比较目录列表中具有相同索引的file1和file2

要比较所有可能的配对,只需执行以下操作:

def compare(directory1, directory2):
    for file1 in os.listdir(directory1):
        for file2 in os.listdir(directory2):
            if "some" in file1 and "some" in file2:
                print("found")

在这种情况下不要使用zip。按照这种方式,您只需要比较目录列表中具有相同索引的file1和file2

要比较所有可能的配对,只需执行以下操作:

def compare(directory1, directory2):
    for file1 in os.listdir(directory1):
        for file2 in os.listdir(directory2):
            if "some" in file1 and "some" in file2:
                print("found")

我相信这是一种方法:

def compare(directory1, directory2):
dir1 = {file for file in os.listdir(directory1)}
dir2 = {file for file in os.listdir(directory2)}
dir_common = dir1.union(dir2)
for file in dir_common:
    if "some" in file:
        print("found")

我相信这是一种方法:

def compare(directory1, directory2):
dir1 = {file for file in os.listdir(directory1)}
dir2 = {file for file in os.listdir(directory2)}
dir_common = dir1.union(dir2)
for file in dir_common:
    if "some" in file:
        print("found")

您能在两个目录中添加文件名吗?不要使用
zip
。使用
zip
时,您只能将
directory1
中的
j-th
文件与
directory2
中的
j-th
文件进行比较。filecmp.cmpfiles()是否对您有用?能否在两个目录中添加文件名?不要使用
zip
。使用
zip
时,您只能将
directory1
中的
j-th
文件与
directory2
中的
j-th
文件进行比较。filecmp.cmpfiles()是否对您有用?