hbhdls 2021-08-13 11:59 采纳率: 71.4%
浏览 43
已结题

在循环中将另一个方法返回的值应用到另一个方法中

在一个for循环中,有两个方法readYE(参数)和readXSB(参数1,参数2),readYE返回4个值,分别为result, company, rq ,t_list,怎么样将 第一个方法中返回的t_list 能够在第二个方法中使用。

附代码:

class MyThread(QThread):
    sig = pyqtSignal(str)

    def __init__(self, params,role,parent=None):
        super(MyThread, self).__init__(parent)
        self.params = params
        self.xlRole = role
    def run(self):
        result_dic = {}
        errlist = []
        # 规则字典
        roles_dic = rolesFunc()
        t_gz = self.xlRole
        roleNmae = roles_dic[t_gz]
        filelist = walkFile(self.params,roleNmae)
        c = len(filelist)
        for x,item in enumerate(filelist):
            msg = '正在处理{0}/{1}, {2}'.format(str(x+1),str(c),item)
            self.sig.emit(msg)
            if roleNmae is not None:
                if '包含' in roleNmae.keys():
                    gznm =roleNmae['包含']
                    #print('gznm')
                    #print(gznm)
                    fname = os.path.basename(item)
                    #print('fname' + fname)
                    fname = fname.split(gznm[0])[0]
                    #print('fname1' + fname)
                    
                else:
                    fname = os.path.basename(item)            
                 
            #print('item:'+item)        
            if '余额表' in item or '科目余额表' in item:
                if t_gz == 'A':
                    result, company, rq = mnhz.readYE(item)
                if t_gz == 'B':
                    result, company, rq = jfj.readYE(item)
                    #print(company, rq)
                if t_gz == 'C':
                    result, company, rq ,t_list= bso.readYE(item)
                    #print(result, company, rq)
                    #print(t_list)
                if fname in result_dic.keys():
                    result_dic[fname][0] = result
                    result_dic[fname][2] = company
                    result_dic[fname][3] = rq
                    #print(result,company,rq)

                else:
                    result_dic[fname] = [result, None, company, rq]
            else:
                if t_gz == 'A':
                    result = mnhz.readXSB(item)
                if t_gz == 'B':
                    result = jfj.readXSB(item)
                if t_gz == 'C':
                    result = bso.readXSB(item,t_list)
                if fname in result_dic.keys():
                    result_dic[fname][1] = result 
                else:
                    result_dic[fname] = [None, result, None, None]

  • 写回答

2条回答 默认 最新

  • 尘世镜花恋 2021-08-13 12:01
    关注

    第一个函数return返回值,然后在第二个函数中调用,用四个变量接收返回值,示例如下:

    def t():
      return 1,2,3,4
    def p():
      a,b,c,d = t()
      print(d)
    p()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月22日
  • 已采纳回答 8月14日
  • 创建了问题 8月13日

悬赏问题

  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图