账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    b文件调用a文件里的函数,该函数的值只能通过b传递,但是a文件执行时报错
    51
    0

    我有两个py文件,一个用来实现抓取数据、生成Excel是a,一个用来实现把生成的Excel通过邮件发送出去是b。
    我现在在b里调用a,但是a需要一个参数,我并不能在a里给这个参数,因为这个参数是在b里给的。
    所以a就报错了,因为a里没定义参数...

    这是a的代码片段,a的函数需要code参数:

    def get_content(code):
        arry = None
        code_url = input_code(code)
        urlss = start_url(code_url)
        for url in urlss:
            c = content(url)
            if c != []:
                # print(c)
                z = list(zip(*c))
                # print('get : ' + str(z))
                if arry == None:
                    arry = z
                    print(arry)
                else:
                    arry = arry + z
        return arry
    
    def main(code):
        arry = get_content(code)
        param = create_excel()
        workbook = param[0]
        sheet = param[1]
        biaotou = []
        tab_head(sheet,biaotou)
        row = 1
        for i,v in enumerate(arry):
            for j,k in enumerate(v):
                write_excel(sheet,row,j,k)
                file_path = 'E:/Anaconda3/project/test/%s.xls' % str(str(arry[0][0]) + '(' + str(arry[0][1]) + ')')
            row += 1
        save_excel(file_path,workbook)
        print('写入完成!')

    这是b的代码片段,b会传递code参数:

        for codes in code_eamil:
            cd = codes[0] 
            em = codes[1] 
            for code in cd:
                print('正在搜索:' + str(code))
                a_gu = 'http://quotes.*******.*****.com/trade/%s.html' % str(code) 
                if requests.get(a).status_code == 200:
                    a = requests.get(a).text
                    try:
                        times = re.search("<tr class='.*?'><td>(.*?)</td>",a_gu_html,re.S).group(1)
                        main(code)
                        print('表格已生成')

    然后运行的时候:

    Traceback (most recent call last):
      File "E:/Anaconda3/project/test/test.py", line 6, in <module>
        from a_gu.a_gu import main # 第一个a_gu是所在文件夹,第二个a_gu是文件名,content是函数名
      File "E:\Anaconda3\project\test\a_gu\a_gu.py", line 427, in <module>
        main(code)
    NameError: name 'code' is not defined
    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部