Python技巧

190 阅读2分钟

####一、Ide中的一些库没有代码提示?没法指定他的类型

python是动态强类型语言,IDE无法判断Image.open("Me.jpg")的返回值类型,无法根据参数类型自动补全

解决方案

  1. 直接在后面指定Type

  2. 也是在下面指定类型

####二、不识别中文字符 在脚本头部添加

# coding=utf-8

####三、if name == 'main 这个定义用于python文件中的作用:类似于其他语言中的Main函数,如果单独直接运行这个python文件,就会执行这个函数里的代码,如果是被其他函数直接导入调用的话,是不会执行这里面的main函数中的代码

if __name__ == '__main__':
    do....

####四、打开本地图片

from PIL import Image
im = Image.open('图片路径')
im.show()

####五、python命令的时候,找不到某些库

//可以指定Pytion3
python3 xxx

####六、导入不是目录下的包时,如果找不到类,可以指定包名下,然后加个别名就可以了

import school.MyTest as sc

####七、如果遇到返回值是乱码的,记得看一下源代码中的编码方式是什么编码,就用requests框架的返回对象可以设置对应的编码方式。

response.encoding = "gbk"

####八、如果遇到端口被占用,可以用命令杀掉他

lsof -i:5000  这里的5000是我之前使用的端口

然后可以看到目前使用该端口的程序:

找到对应的PID杀掉,就可以:

kill 1227

####九、如果遇到使用Pip安装插件后,导入的时候找不到那个库,你要注意你电脑里可能存在多个版本的python版本,我用的是python3,所以需要用pip3

pip3 install flask-login

####十、Json转换编码问题 加入ensure_ascii就可以适配中文

json.dumps(result,ensure_ascii=False)

####十一、解析或者读取CVS文件的时候乱码问题 格式使用gb18030可以解决

import codecs
with codecs.open('2222.csv', 'rb', 'gb18030') as csvfile:
    for line in csvfile:
        print(line)