Недопустимая синтаксическая ошибка и просмотр каталога и его подкаталогов

Я супер новичок в кодировании с помощью python. Для моей работы у нас есть карты ESRI (.MXD), которые необходимо экспортировать в пакетном режиме. Проблема в том, что каждая карта находится в своей папке в основной папке. Я нашел код для пакетного экспорта моих карт, если они находятся в одном каталоге (хотя он продолжает выдавать ошибку Invalid Syntax). Еще нашел код, который должен просматривать все подкаталоги, но не знаю, как его совместить с первым кодом.

Экспорт кода моей карты (arcpy — это то, как ArcMap использует python из того, что я собираю):

import arcpy, os

arcpy.env.workspace = ws = r”C:\Users\Me\Desktop\Burn_Zones” #This is where I am getting that invalid syntax error!

mxd_list = arcpy.ListFiles("*.mxd")

for mxd in mxd_list:

        current_mxd = arcpy.mapping.MapDocument(os.path.join(ws, mxd))
    pdf_name = mxd[:-4] + ".pdf"
    arcpy.mapping.ExportToPDF(current_mxd, pdf_name)
del mxd_list

Итак, это первая проблема. Код для просмотра всех подкаталогов:

for root, dirs, files in os.walk(path):
for name in files:
    if name.endswith((".html", ".htm")):

Я не думаю, что мне понадобится второй цикл for, так как первый код должен захватить для меня все .mxds. Так что мне нужен только первый цикл for и кусок, который находится над строкой кода mxd_list = arpy.ListFiles(".mxd")?

О, и для этой строки ошибки. Я пробовал имя пути с C:\ и Burn_Zones\ и все их комбинации. Это не сработало, и это единственное, что я мог понять.

Всем большое спасибо за любую помощь!


person Sarah_E_Johnson    schedule 07.12.2016    source источник
comment
проверьте свой отступ   -  person kmaork    schedule 08.12.2016


Ответы (1)


Вы используете неправильные кавычки на своем пути. Это твоя ошибка?

arcpy.env.workspace = ws = r”C:\Users\162708\Desktop\Burn_Zones”
                            ^
SyntaxError: invalid character in identifier

Замените эти «кавычки» на настоящие двойные кавычки.

r”C:\Users\162708\Desktop\Burn_Zones”  # wrong
r"C:\Users\162708\Desktop\Burn_Zones"  # correct
person joebeeson    schedule 07.12.2016
comment
Ты имеешь в виду, как тик-тик? ' ' (без пробела) Или двойные кавычки, например, при чтении того, что кто-то сказал? Я пробовал оба способа, но все еще получаю недопустимую синтаксическую ошибку. - person Sarah_E_Johnson; 08.12.2016
comment
Это может быть трудно увидеть, но «это не так — Python не любит», поскольку это не двойная кавычка, а своего рода причудливые кавычки, обычно встречающиеся в Microsoft Word. - person joebeeson; 08.12.2016
comment
Ой! Вы так блестяще прекрасны! Я снова скопировал и вставил код baste, и это сработало! Большое спасибо! - person Sarah_E_Johnson; 08.12.2016
comment
@Sarah_E_Johnson Рад, что это сработало для вас! Не забудьте отметить вопрос как решенный. - person joebeeson; 08.12.2016