所以我要浏览两个目录。对于找到的每个文件,我打印他们的名字。我想要做的是进行比较,但由于我的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")
答案 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")