这是一个更好的版本,包括我到目前为止所做的:
这本词典:sfiles
{'C:\\Users\\user\\Desktop\\05052\\ASTTOM\\ASTTOM': [],
'C:\\Users\\user\\Desktop\\05052\\ASTIK\\ASTIK': [],
'C:\\Users\\user\\Desktop\\05052\\ROADS\\ROADS': []}
我想检查一下sh1
是否在里面:
sh1
u'ASTTOM'
以及
sh2
u'ASTIK'
我想将匹配的sfiles
的完整路径分配给sh1。你知道吗
我所做的:
for i in list(sfiles):
if shape1 in os.path.basename(i):
print((i))
shape1 = i
这种方法正确吗?我怎样才能对sh2有效地执行同样的操作?你知道吗
对于
for i in list(sfiles)
,i
不是列表的索引,而是已经依次分配给每个元素,因此循环必须是:定义一个包含循环的函数,并传递
sh1
或sh2
作为参数,例如:据我所知,您希望找到在其最后一部分中有sh1(称为shape1)的路径。 所以,你可以这样做:
你不是真的在用你的字典。我建议您重建另一个字典,将文件名作为键(使用
os.path.basename
,而不是str.split
),将完整路径和列表保留为值的元组它看起来像:
然后可以进行
O(1)
查找和测试:印刷品:
(因为值在字典中,
get
检索数据相关问题 更多 >
编程相关推荐