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

时间:2016-03-02 14:32:31

标签: python

所以我要浏览两个目录。对于找到的每个文件,我打印他们的名字。我想要做的是进行比较,但由于我的if语句出现问题,我无法前进。假设我在两个目录中都有一个名为some的txt文件。如果在文件名中找到some,则打印找到。这是分开的。我的问题是and运算符。这两个文件都被命名为"some.txt",但我什么都没得到。就像我说的,如果我摆脱and运算符,它就有效。

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")

2 个答案:

答案 0 :(得分:1)

在这种情况下不要使用zip。你这样做,你只是比较你的目录列表中具有相同索引的file1和file2。

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

def test(a: String*): String = a.mkString
def test(): String = test("a", "b", "c")

答案 1 :(得分:1)

这是一种方法,我相信:

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")