特定のディレクトリに一連のXMLを含むディレクトリを開こうとしています。
次のコードでは、各XMLドキュメントを繰り返し処理しています。XMLのテキストを読み込み、キーワードを見つけて置き換えて、新しい場所に新しいファイルを書き込むためのif文を設定します。
私は、スクリプトを実行したときに、私は次のエラーを取得しています:タイプ 'NoneType'の引数は反復可能ではありません
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
これは書かれたとおりにはコンパイルされません - 問題の行がコメントアウトされた 'print element.text'と一列に並んだ、左4桁であると思います。あなたはこれをコメントアウトしたときに何を見たのですか? –