我有一个包含目录的列表。
shapelist
具有:
['C:\\Users\\user\\Desktop\\etg\\v1\\ASTENOT\\ASTENOT.shp',
'C:\\Users\\user\\Desktop\\etg\\v2\\ASTENOT\\ASTENOT.shp',
'C:\\Users\\user\\Desktop\\etg\\v3\\ASTENOT\\ASTENOT.shp',
'C:\\Users\\user\\Desktop\\etg\\v4\\ASTENOT\\ASTENOT.shp']
我希望在每个循环中使用上方列表中的每个ASTENOT
,该列表位于单独的文件夹中。
我已经解决了这部分。
问题在于如何在每个输入(使用的每个循环中的每个ASTENOT
)所在的相应文件夹中导出每个结果。
示例: 我正在循环中使用此特定功能。
arcpy.FeatureToLine_management(['ASTENOT'],'ASTENOT_lines')
['ASTENOT]
位置用于输入,
'ASTENOT_lines'
用于函数的输出。
如何使输出导出到每个对应输入的文件夹中?
示例:第一个循环的ASTENOT_lines
将在v1\\ASTENOT\\
位置导出,第二个循环将在v2\\ASTENOT\\
中导出,依此类推。
我的尝试
for i in shapelist:
arcpy.FeatureToLine_management([i],'ASTENOT_lines')
但是将所有内容导出到当前工作目录中,而不是在每个循环中导出到其输入的相应文件夹中。
答案 0 :(得分:0)
您可以将绝对路径传递给FeatureToLine_management
方法。
只需将输入路径中的ASTENOT.shp
替换为ASTENOT_lines
即可生成绝对路径。
因此您可以将代码更改为
for i in shapelist:
outputfile = i.replace('ASTENOT.shp', 'ASTENOT_lines')
arcpy.FeatureToLine_management([i], outputfile)