Tôi đang cố mở thư mục chứa một chuỗi XML trong một thư mục cụ thể.
Trong đoạn mã sau, tôi đang lặp qua từng tài liệu XML, và tôi đang thiết lập một số câu lệnh if để đọc văn bản trong XML, tìm từ khóa và thay thế chúng rồi viết một tệp mới vào một vị trí mới.
Tôi nhận được lỗi sau khi tôi chạy kịch bản:đối số của loại 'NoneType' không thể lặp lại
Traceback info:
File "Z:\ESRI\Python\Test Scripts\ElementTree6.py", line 62, in <module>
if "%begdate%" in element.text:
...
Lỗi Thông tin:
argument of type 'NoneType' is not iterable
tôi đã cứng mã hóa thư mục với một XML cụ thể và khi tôi chạy qua nếu phát biểu, họ làm việc tốt.
Đó là khi tôi cố gắng thiết lập để lặp qua một chuỗi XML mà tôi gặp phải lỗi.
Tôi đã tìm kiếm thông qua trang web này để xem liệu tôi có thể là giải pháp cuối cùng hay không, nhưng tất cả các vấn đề khác với vấn đề của tôi hoặc tôi không hoàn toàn hiểu được công việc xung quanh.
Tôi đã sử dụng một số dòng in để kiểm tra đầu ra.
Mọi thứ hoạt động tốt cho đến khi tôi nhận được câu lệnh if và sau đó phát sinh lỗi.
# 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
Điều đó sẽ không biên dịch thành văn bản - tôi nghĩ bạn có ý nghĩa đối với dòng được đề cập là 4 dấu cách ở bên trái, được căn chỉnh với phần tử in 'đã nhận xét.text' đã nhận xét. Bạn đã thấy gì khi bạn có BTW chưa được chú ý này? –