将文件名传递给脚本

时间:2018-03-23 11:33:49

标签: python xml

我找到了以下脚本来拆分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

1 个答案:

答案 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'