我需要你对这个问题的建议
我在这两个列表中收集了我需要的:simpl2
,astik
,代码如下:
simpl2 = []
astik = []
for path, subdirs, files in os.walk(rootfolder):
for name in files:
if 'sim2.shp' == name:
simpl2.append(os.path.join(path, name))
elif 'ASTIK.shp' == name:
astik.append(os.path.join(path, name))
上面的代码在包含文件夹的根文件夹中搜索:v1.v2,v3,v4
所以用这个:
for i,j in zip(simpl2,astik):
print(i,j)
给出:
内容
C:\Users\user\Desktop\pl\v1\exported\sim2.shp C:\Users\user\Desktop\pl\v1\ASTIK\ASTIK.shp
C:\Users\user\Desktop\pl\v2\exported\sim2.shp C:\Users\user\Desktop\pl\v4\ASTIK\ASTIK.shp
问题
如何确保这些对来自同一个文件夹(比如第一行来自v1
,如果不是(比如第二行,其中一个来自v2
,另一个来自v4
),使它们根本没有对
这应该是因为,它们将在以后使用,并且它们必须是正确的对,否则我有一个代码准备好了,除了那些没有对的代码,所以问题是如何修复前面描述的这部分
解释
根文件夹是:
C:\Users\user\Desktop\pl
在那之后pl
有一个v1,v2,v3,v4文件夹。每个文件夹都有一些与所有4个文件夹相同的文件。唯一的区别是有些是空的。我只想检查列表中是否创建了相同v
的正确对
好的,看到你的更新,也许你对这样的东西感兴趣:
旧代码
但是…如果这是您的最终目标,您也可以存储路径。如果两个文件都在路径中,那么您知道路径包含两个文件。然后,您可以在需要时使用os.path.join()轻松构建endpath
或更紧凑的格式:
相关问题 更多 >
编程相关推荐