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 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配