我有一个名为shapelist
的列表,其中包含:
shapelist
['C:\\Users\\user\\Desktop\\pl\\v1\\ASTN\\ASTN.shp',
'C:\\Users\\user\\Desktop\\pl\\v2\\ASTN\\ASTN.shp']
,我想通过维护列表内容目录的一部分来替换目录的最后一部分。示例:
在此循环中:
for i in shapelist:
arcpy.FeatureToLine_management([i],i.replace('\\ASTN\\ASTN.shp','\\exported\\ASTN_li'))
给出错误:000210说明无法创建输出。 可能的原因包括数据锁定,路径错误和限制 访问权限。
如果我这样做,它仍然可以工作。
arcpy.FeatureToLine_management([i],i.replace('ASTN.shp','ASTN_li'))
此问题是将其保存到不需要的位置。
您知道如何像第一次尝试那样保存它,或以其他方式将其保存到该特定位置吗?
答案 0 :(得分:0)
根据我的建议,您应该先创建文件夹'C:\\Users\\user\\Desktop\\pl\\v2\\exported'
,然后再进行arcpy.FeatureToLine_management()
,例如
if not os.path.exists('C:\\Users\\user\\Desktop\\pl\\v2\\exported'):
os.makedirs('C:\\Users\\user\\Desktop\\pl\\v2\\exported')
for i in shapelist:
arcpy.FeatureToLine_management([i],i.replace('\\ASTN\\ASTN.shp','\\exported\\ASTN_li'))
答案 1 :(得分:0)
这适用于列表中的每个项目,因为它每次迭代都会更改,从而适用于给定的情况。
rootfolder = r'C:\\Users\\user\\Desktop\\pl'
for i in shapelist:
... os.mkdir(rootfolder+'\\'+i.split("\\")[-3]+ '\\'+ 'exported')
... out = rootfolder + '\\'+i.split("\\")[-3] +'\\'+'exported'+'\\ASTN_li'
... arcpy.FeatureToLine_management([i] ,out)