如何从目录中循环记录并传递给python中的函数?

问题描述 投票:3回答:2

我已经在目录XML中设置了xml。

123.xml
234.xml
567.xml

我希望我的代码循环到目录和每个xml中并传递到MQ。

当前,我能够使用当前代码成功发送1个XML。

我不确定如何为文件夹中的每个XML自动创建增量UUID,以及如何在下面的代码中循环。

当前工作代码的XML值被盗

import ssl
!pip install pika
import pika
import uuid


def send(message):

    uui = uuid.uuid4()
    mydoc = open('123.xml')
    xml = mydoc.read()    


    ssl_options = pika.SSLOptions(ssl._create_unverified_context())
    credentials = pika.PlainCredentials(username='xxxxx', password='xxxx')
    connection = pika.BlockingConnection(pika.ConnectionParameters(host='xxxx', port=5671, virtual_host ='abcd' , 
                                        credentials=credentials, ssl_options=ssl_options))

    channel = connection.channel()
    channel.basic_publish(exchange='xxxxxx', routing_key='',properties=pika.BasicProperties(
                          headers={'uuid': str(uui)}), body=xml)
    connection.close()

    print(message + ' ' + str(uui))

    return message

如何在python中做到这一点?

python python-3.x pandas loops itertools
2个回答
0
投票

您想要目录中的XML列表吗?

只需阅读目录并获取目录中的文件,然后循环遍历即可执行操作。

import os
xml_files = [file for file in os.listdir(path_to_your_directory) if os.path.isfile(os.path.join(path_to_your_directory, file))]

for file in xml_file:
    your_logic

0
投票

使用全局库

import glob

for xml_file in glob.glob("c:/your_path/*.xml"):
    #write here code for each xml file
© www.soinside.com 2019 - 2024. All rights reserved.