Заменить часть URL при экспорте?
У меня есть список 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'))
Проблема с этим заключается в том, что он сохраняет его в ненужном месте.
Знаете ли вы, как сохранить его как первую попытку или альтернативный способ сохранить его в этом конкретном месте?
2 ответа
Как я предлагаю, вы должны создать папку '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'))
Это работает для каждого элемента в списке, так как он изменяется для каждой итерации, чтобы работать для данного случая.
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)