Python遇到的大坑

     首先,说明一下本人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大佬同学,他也没遇到这个情况,但是万万没想到的结果是只是改个名编译,还原,再编译解决这个问题!真的是够奇葩啊,特分享给大家,遇到类似的问题可以这么尝试解决!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章