我找到了以下脚本来拆分XML文件。
import xml.etree.ElementTree as ET
context = ET.iterparse('BGSM_VPAY_D-001565_20180315-220009-049.xml', events=('e$
index = 0
for event, elem in context:
if elem.tag == 'Payment_Ack':
index += 1
filename = format(str(index) + ".xml")
with open(filename, 'wb') as f:
f.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
f.write(ET.tostring(elem))
如何更改此项以传递文件名&#39; BGSM_VPAY_D-001565_20180315-220009-049.xml&#39;和开头的BGSM_VPAY在同一文件夹中的所有其他文件。 我还需要输出具有相同文件名的文件,但最后输出001,002等(但在xml扩展之前)。
感谢 d
答案 0 :(得分:0)
最简单的方法是使用glob
:
import glob
fnames = glob.glob('BGSM_VPAY*')
要在&#39; .xml&#39;之前添加号码i
。扩展:
output_fname = fname[:-4] + '.' + str(i).zfill(3) + '.xml'
请注意,目前这也会在数字之前添加一个点,例如'BGSM_VPAY_D-001565_20180315-220009-049.001.xml'