Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 导出时是否替换URL的一部分?_Python_Loops_Arcpy - Fatal编程技术网

Python 导出时是否替换URL的一部分?

Python 导出时是否替换URL的一部分?,python,loops,arcpy,Python,Loops,Arcpy,我有一个名为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(

我有一个名为
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'))
问题是它会将其保存到不需要的位置


您知道如何像第一次尝试或其他方式一样将其保存到该特定位置吗?

正如我所建议的,在执行
arcpy.FeatureToLine\u management()
之前,您应该首先创建文件夹
'C:\\Users\\user\\Desktop\\pl\\v2\\exported'
,例如

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'))

这适用于列表中的每个项目,因为它在每次迭代中都会发生变化,从而适用于给定的情况

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)

你能写下如何使用循环吗?需要做哪些更改?试试上面,做一些小的更改。这可能不起作用,因为在每次迭代中,数据来自不同的目录。你可以先尝试shapelist长度为1的1-loop,以确保它是否能解决问题。如果这是原因,那么在执行
arcpy
操作之前,请尝试确保每个不同的目录都存在。