Python报错总结

2029/02/28更新:Python2.7 json.loads(string_format),如8更新

用Python两年多了,也基本熟悉了,但是长久不用,写着又会出错了,以下今后报错和改正的总结,希望对新手或者初学者一定帮助,报错不可怕,认真看错误原因和百度、google,基本都能解决的!以下指的是Python3版本

1、关于map

python3.3之后,通过map函数生成的就是一个iterators,如果你需要看里面的内容,可以用List转换,再转其他格式,例如

a = map(lambda x: x**2, [1,2,3,4]);返回[1,4,9,16],列表格式!

2、关于sys

sys.argv[0]表示文件名,sys.argv[]表示输入参数列表,例如在shell环境下运行,python test.py a b c

sys.argv[0] = test.py; argv[1] = 'a'  argv[2] = 'b' 以此内推,大家可以敲一下试试!

3、关于文件读取

我们一般采用pandas,pd.xxx(import pandas as pd)进行文件读取,后面一般加全路径,但是有时候会报character错误,特别是windows系统下;

解决办法:建议采用(r"/path")或者("//path")或者效仿linux,采用("\path\file"),就能解决问题了

4、cmd 进入命令行报错 python无法找到,尽管你安装了anaconda2或者anaconda3

这个问题是你可能需要去修改一下你的环境变量了,anaconda的路径并没有完全加进去,结果方法如下:C:\Users\sx\AppData\Local\Continuum\anaconda3\Scripts;

C:\Users\_sx\AppData\Local\Continuum\anaconda3\Library\bin;

C:\Users\_sx\AppData\Local\Continuum\anaconda3;

把这三个加进去就没问题,安装路径需要对应你自己的路径,以上是我的安装路径,请留意。

5、更新内容:df[(True^df['appID'].isin([278,382]))&(True-df['appPlatform'].isin([2]))],df代表数据集DataFrame,app等代表列名;

6、Python class 中带一条下划线_ 的变量保护类型只能允许其本身与子类进行访问,不允许被 from module import *;而带__两条下划线的变量__foo,只允许被本身类使用;__foo__是特殊变量定义方法,一般用于系统变量;

7、The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all():关于DataFrame报上述错误的时候,一般是你用merge、concat等拼接方法,导致它的索引发生了重叠,在后续循环体的时候,如果你用到索引,就会报错;改错的方法是:df.reset_index(drop=True),删除原来索引,重建一个索引就可以。

8、能不能python2.7就别用,尤其是解析中文json格式,导致的问题有以下几个:(1)乱码-python2.7默认unicode编码 (2)由于乱码问题引入"\"字符导致loads报错,并且错误类型千奇百怪

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值