Python 是否在每个循环的相应文件夹中导出?
我有一个目录列表Python 是否在每个循环的相应文件夹中导出?,python,loops,Python,Loops,我有一个目录列表 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
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_line'
用于函数的输出。
如何将输出导出到每个相应输入的文件夹中
示例:要在v1\\ASTENOT\\
位置导出的第一个循环的ASTENOT\u行
,在v2\\ASTENOT\\\
位置导出第二个循环,依此类推
我的尝试:
for i in shapelist:
arcpy.FeatureToLine_management([i],'ASTENOT_lines')
但是导出当前工作目录中的所有内容,而不是每个循环中输入的相应文件夹中的所有内容。您可以将绝对路径传递给
FeatureToLine\u管理
方法
只需将输入路径中的ASTENOT.shp
替换为ASTENOT\u行即可生成绝对路径
因此,您可以将代码更改为
for i in shapelist:
outputfile = i.replace('ASTENOT.shp', 'ASTENOT_lines')
arcpy.FeatureToLine_management([i], outputfile)
尝试为输出使用绝对路径。例如arcpy.FeatureToLine_管理([i],i.replace('ASTENOT.shp','ASTENOT_行'))
您能解释更多吗?根据您的描述,我假设FeatureToLine_管理
方法的第二个参数是写入输出文件的路径。我建议提供一条绝对路径。例如,第一个文件的C:\\Users\\user\\Desktop\\etg\\v1\\ASTENOT\\ASTENOT\u行
。你应该回答这个问题,我会接受的。谢谢汉克斯,我很高兴能帮助你