NameError:未定义将函数return作为输入传递给另一个函数的名称“”

2024-10-02 22:35:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图找出如何将一个函数的结果传递给同一个脚本中的另一个函数。我已经测试了CreateDict函数,它可以工作。我无法将结果用作CreateHumanUsrNameDict的输入。我收到的以下错误是CreateHumanUsrNameDict(UsrDict)名称错误:名称“UsrDict”未定义

import csv
def CreateDict(filename):
    UsrDict = {}
    with open(filename) as csvfile:
        readCSV = csv.reader(csvfile, delimiter=':')
        for row in readCSV:
            UsrDict[row[0]]=row[1]
        return UsrDict


def CreateHumanUsrNameDict(UsrDict):
    HumanUsrDict={}
    for k, v in HumanUsrDict.items():
        if v == len(4):
            HumanUsrDict[k:v]
        print(HumanUsrDict)

if __name__=='__main__':
    CreateDict('Book1.csv')
    CreateHumanUsrNameDict(UsrDict)

Tags: csvcsvfile函数in名称fordef错误
1条回答
网友
1楼 · 发布于 2024-10-02 22:35:49

调用CreateDict时,需要将返回值赋给变量UsrDict。试试这个:

import csv
def CreateDict(filename):
    UsrDict = {}
    with open(filename) as csvfile:
        readCSV = csv.reader(csvfile, delimiter=':')
        for row in readCSV:
            UsrDict[row[0]]=row[1]
        return UsrDict


def CreateHumanUsrNameDict(UsrDict):
    HumanUsrDict={}
    for k, v in HumanUsrDict.items():
        if v == len(4):
            HumanUsrDict[k:v]
        print(HumanUsrDict)

if __name__=='__main__':
    UsrDict = CreateDict('Book1.csv')
    CreateHumanUsrNameDict(UsrDict)

相关问题 更多 >