Экспорт в каждом цикле в соответствующей папке? - PullRequest
0 голосов
/ 03 сентября 2018

У меня есть список с каталогами.

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

, но экспортирует все в текущем рабочем каталоге, а не в соответствующие папки своих входов в каждом цикле.

1 Ответ

0 голосов
/ 03 сентября 2018

Вы можете передать абсолютный путь к методу FeatureToLine_management.

Абсолютный путь можно сгенерировать, просто заменив ASTENOT.shp во входном пути на ASTENOT_lines.

Так что вы можете изменить свой код на

for i in shapelist:
    outputfile = i.replace('ASTENOT.shp', 'ASTENOT_lines')
    arcpy.FeatureToLine_management([i], outputfile)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...