argument of type 'NoneType' ist nicht iterierbar

Ich versuche, öffnen Sie ein Verzeichnis enthält eine Reihe von XML in einem bestimmten Verzeichnis.
In dem folgenden code bin ich Durchlaufen jedes XML-Dokument, und ich werde einige "if-Anweisungen", um den text Lesen in der XML, keywords finden und ersetzen Sie Sie, und schreiben Sie dann eine neue Datei an eine neue Position.
Ich erhalte die folgende Fehlermeldung, wenn ich das Skript ausführen:

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

Fehler Info:

argument of type 'NoneType' is not iterable

Habe ich hart codiert in das Verzeichnis eine bestimmte XML-und wenn ich laufen durch die if-Anweisungen, die Sie gut funktionieren.
Es ist, wenn ich versuchen, bis zum Durchlaufen einer Reihe von XML ist, dass ich in der error.
Ich suchte über diese Website zu sehen, wenn ich könnte die endgültige Lösung, aber alle Probleme sind entweder Verschieden von den meinigen, oder ich bin nicht ganz verstehen, die Arbeit zu umgehen.

Ich habe eine Reihe von Linien drucken Sie zum testen der Ausgänge.
Alles funktioniert gut, bis ich auf die if-Anweisung, und dann der Fehler entsteht.

# 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
Das wird nicht kompiliert, wie geschrieben - ich denke du meinst line-in Frage zu 4 Leerzeichen nach Links ausgerichtet mit dem auskommentierten print element.text. Was sehen Sie, wenn Sie hatte dies unkommentiert, BTW?

InformationsquelleAutor Mike | 2011-07-20

Schreibe einen Kommentar