如何返回用于其他函数的python字典?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (334)

在这个函数中,我正在读取.txt文件,并将这些值存储在字典中。我希望能够将这个字典传递给另一个函数,进行进一步的计算和排序。

我可以管理打印.txt文件中的所有行,但就是这样。

返回中断循环,只给出第一行。

全局变量和嵌套函数是不好的形式。

已尝试使用yield(第一次),但只打印“generator object get_all_client_id at 0x03369A20"

file_with_client_info = open("C:\\Users\\clients.txt", "r")

def get_all_client_id():
    client_details = {}

     for line in file_with_client_info:
        element = line.split(",")
        while element:
            client_details['client_id'] = element[0]
            client_details['coordinates'] = {}
            client_details['coordinates']['lat'] = element[1]
            client_details['coordinates']['long'] = element[2]
            break

        print(client_details)
提问于
用户回答回答于

代码中有一些错误。

下面是你的代码的固定版本。

def get_all_client_id(file):
    client_details = {}

    with open(file, 'r') as f:
        for line in f:
            element = line.strip().split(',')
            if element:
                client_id, lat, long, *more = element
                client_details[client_id] = {'lat': lat, 'long': long}

    return client_details

clients_dict = get_all_client_id("C:\\Users\\clients.txt")

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励