ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python遇到的大坑

2020-04-26 17:40:04  阅读:312  来源: 互联网

标签:另一台 大坑 遇到 Python 函数 appendChannelIcon 机子 定义


     首先,说明一下本人Python小白一个,完全是因为公司业务需要,所以接触Python,给我第一感觉,语法真的看得很不舒服,然后加上今天遇到的大坑,让我更加不爱Py!

   很久之前我就装好python的开发环境,然后导入工程,开始按需求边摸索他的语法边改代码,但是改完之后打包发现,根本运行不起来,一直报'module' object has no attribute 'xxxxx'...的错误,跟踪代码,发现他的错指向的是global定义的一个全局变量,我就很纳闷,同样的代码在另一台机子上没报错,环境也是一样的,神了个奇!因为那会赶进度,所以没深究,然后就在另一台机子上打包了,知道今天,我重新去搞了这个项目!还是在之前的不行的机子上去搞,结果不是报'module' object has no attribute 'xxxxx'...这个的错误,而是报了另一个错误:

于是,我疯狂百度找解决方案,百度到的答案都说是定义的函数要求的是4个参数,而我调用的时候传了5个,我反复查看这个函数,没理由啊,这个函数自己定义的,就是传5个参数,而且另一台机子咋不报这个错,然后我就开始怀疑是不是环境问题,于是开始从另一台可运行的机子上各种拷贝Python的相关配置文件过来,发现还是不行!!我最终用了大家的常规操作的秘密武器-----卸了重装!!但是,结果是:然并卵!那个气啊,后面我去菜鸟教程网站(https://www.runoob.com/这个学习网站大家应该都知道,有空建议大家可以去了解了解),去了解了一下Python关于函数的定义的学习指南,发现里面有我想了解的内容如下:

于是,我开始对我的代码下手,在我定义的函数的最后一个参数的前面加上一个 * 号,也就是原来定义的函数是

def appendChannelIcon(a,b,c,d,e):变成 def appendChannelIcon(a,b,c,d,*e):,然后编译运行打包,发现不再报

TypeError: appendChannelIcon() takes exactly 4 arguments (5 given)这个错了,崩溃的我尝试还原了这个修改,把定义的函数变回原来的def appendChannelIcon(a,b,c,d,e):,然后重新编译打包,发现好了!!!!不报参数个数不对的错误了,但是旧的问题又来了的-->定义的全局变量'module' object has no attribute 'APKSIGN_PATH '...还是报没定义,问题又回归到最初的问题了,神了个奇!于是同事说改一下这个变量名试试,于是把变量名改成APKSIGN_PATH _TEST,发现没报错了,但是不改之前为什么在另一台机子上不会报这种错捏,那么奇葩的吗?不应该啊,于是我说,既然刚才报参数个数的错的问题改了之后也不行,然后还原回来到没改之前,编译都可以,那我们这个变量名也变回原来的试试看,应该就完全没问题了!于是把变量名重新变回原来的APKSIGN_PATH ,果然,一改回来就啥问题都没有,那个泪奔,真的是奇葩,不得不吐槽一下这个Python!中途中还请教了我的Python大佬同学,他也没遇到这个情况,但是万万没想到的结果是只是改个名编译,还原,再编译解决这个问题!真的是够奇葩啊,特分享给大家,遇到类似的问题可以这么尝试解决!

标签:另一台,大坑,遇到,Python,函数,appendChannelIcon,机子,定义
来源: https://blog.csdn.net/u012850536/article/details/105735694

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有