аргумент типа «NoneType» не повторяется

Я пытаюсь открыть каталог, содержащий серию XML-документов в одном конкретном каталоге.
В следующем коде я просматриваю каждый XML-документ и устанавливаю некоторые «операторы if» для чтения текста в XML, поиска ключевых слов и их замены, а затем записи нового файла в новое место.
При запуске сценария я получаю следующую ошибку:

Traceback info:
  File "Z:\ESRI\Python\Test Scripts\ElementTree6.py", line 62, in <module>
    if "%begdate%" in element.text:
        ...

Информация об ошибке:

argument of type 'NoneType' is not iterable

Я жестко привязал каталог к ​​одному конкретному XML, и когда я просматриваю операторы if, они работают нормально.
Это когда я пытаюсь настроить итерацию серии XML, я сталкиваюсь с ошибкой.
Я просмотрел этот сайт, чтобы увидеть, смогу ли я окончательно найти решение, но все проблемы либо отличаются от моих, либо я не совсем понимаю обходной путь.

Я использовал несколько строк печати для проверки результатов.
Все работает нормально, пока я не перейду к оператору if, а затем возникнет ошибка.

# Location of XML's
folderPath = r"Z:\data"

# set variable to store files with extension ".xml"
for filename in glob.glob(os.path.join(folderPath, "*.xml")):

fullpath = os.path.join(folderPath, filename)

# find files and split the filename from the directory path
if os.path.isfile(fullpath):
    basename, filename2 = os.path.split(fullpath)
    #print "Basename = " + basename
    #print "Filename = " + filename2

    # set variable to store XML structure from xml file
    root = ElementTree(file=r"Z:\data\\" + filename2)


    #Create an iterator
    iter = root.getiterator()
    #Iterate
    for element in iter:
        #print element.text

            if "%begdate%" in element.text:
            BEGDATE = element.text.replace("%begdate%", BEGDATEPARAM)
            element.text = BEGDATE
5
задан pradyunsg 12 February 2013 в 10:55
поделиться