我需要比较A和B两个目录的文件名
A包含的文件比B多(分别约15000/20000),具有相同的名称/不同的内容。在
我有:
迪拉:'doctor_Weiss.csv', 'doctor_Urlici.csv', 'doctor_Basler J. Rudolph.csv'
目录:'doctor_Weiss.csv', 'doctor_Urlici.csv'
我需要dirA dirB中的所有文件(来自dirA):
diffAB:'doctor_Basler J. Rudolph.csv'
我试过了:
import os
from os.path import join
fpA = {}
for root, dirs, files in os.walk('C:\A\docs'):
for name in files:
fpA[name] = 1
fpB = {}
for root, dirs, files in os.walk('C:\B\docs'):
for name in files:
fpB[name] = 1
a = []
for name in fpA.keys():
if not(name in fpB.keys()):
a.append(name)
没用。”a'包含来自B的所有文件,而不仅仅是a-B
我还试图遍历两个目录并创建一组文件,但都没有成功(同样,所有的文件都来自B)。在
谢谢你的帮助
这个怎么样?在
os.listdir
获取当前目录下的所有文件,然后使用set.difference()
获得dirA中的差异,而不是dirB中的差异。在在最后一个for循环中,您编写了},而不是{}。使用适当的变量名,它将起作用。它对我有用。在
fpa.keys()
而不是fpA.keys()
和{你可以用set来获取文件的差异。在
相关问题 更多 >
编程相关推荐