![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
mz_老张
这个作者很懒,什么都没留下…
展开
-
debian 使用pandas报错No module named ‘_bz2‘
No module named '_bz2'原创 2023-03-01 12:54:13 · 291 阅读 · 1 评论 -
安装python包时报‘HTMLParser‘ object has no attribute ‘unescape‘
安装python包时报'HTMLParser'object has no attribute'unescape'原创 2022-11-15 14:47:11 · 607 阅读 · 0 评论 -
selenium通过chromedriver打开网页提醒 Flash Player没有安装
selenium通过chromedriver打开网页提醒Flash Player没有安装原创 2022-06-10 13:04:27 · 303 阅读 · 0 评论 -
Python requests 传递布尔值
Python requests 传递布尔值原创 2022-05-07 22:37:30 · 1348 阅读 · 0 评论 -
关于python字典的get方法添加默认值依旧返回None的原因
说明:python字典get方法返回默认值,仅适用于该字典中不存在的key,如果key存在,而key对应的值又是None,那么即时使用get添加默认值,也会返回Nonea = {'A':None}result = a.get('A',5)print(result)# None原创 2021-11-10 09:32:56 · 3548 阅读 · 1 评论 -
cgai-time一个简单又实用的时间日期处理python库
一、简介cgai-time一个简单又实用的时间日期处理python库,可以快速实现:日期格式化日期,时间计算涉及时分秒,年月日各方面计算日期格式要求:非时分秒日期格式:推荐的日期格式为%Y-%m-%d,比如:2021-07-20也支持数字数组格式表示,比如: (2021,7,20)时分秒格式:仅支持%Y-%m-%d %H:%M:%S,比如:“2021-07-20 09:43:49”建议以时间戳的形式计算时间计算,最后显示格式化日期二、安装pip install cgai原创 2021-07-20 14:24:39 · 229 阅读 · 1 评论 -
关于列表循环删除自身元素的问题
关于列表循环删除自身元素的问题不能在循环自身的时候删除自身元素!!!例:我想要删除a与start和end中共有的元素a = ['2021-07-01', '2021-07-02', '2021-07-03', '2021-07-04', '2021-07-05', '2021-07-06', '2021-07-07', '2021-07-08', '2021-07-09', '2021-07-10', '2021-07-11', '2021-07-12', '2021-07-13', '2021原创 2021-07-18 11:11:01 · 224 阅读 · 0 评论 -
cgai-io一个简单轻量又快速的文件/文件夹操作跨平台python库
一、简介1.cgai-io是针对文件以及文件目录进行快速复制与删除的python库,底层调用的是系统原生命令,支持跨平台,效率比shutil要快得多。2.支持目录删除保留原目录结构二、安装pip install cgai-io三、快速上手1.复制文件from cgai_io.Copy import copyfilesrc1 = r'D:\MZ\bg.jpg'des1 = r'D:\Temp\Test\bg.jpg'copyfile(src1,des1)2.复制文件目录from原创 2021-07-15 09:06:29 · 186 阅读 · 0 评论 -
python 判断一个变量是否为可执行函数
使用callable(xxx)来判定def func(): print('A')r = callable(func)print(r)#True原创 2021-07-15 08:46:27 · 373 阅读 · 0 评论 -
cgai-socket一个轻量简单又快速的python socket库
cgai-socket介绍简单轻量又快速的python socket服务与客户请求库,支持绑定自定义函数安装pip install cgai-socket简例server:from cgai_socket.cgai_server import Serverdef func1(data): print('func1',data) return Nonedef func2(data,_id,_name): print('func2:',_id,_name)原创 2021-06-28 23:00:05 · 201 阅读 · 0 评论 -
‘ascii‘ codec can‘t decode byte 0xe6 in position 0: ordinal not in range(128)
这个问题一般是在python2中才会出现.解决办法:1.在脚本最上栏添加# -*- coding:utf-8 -*-2.对于有中文的内容进行uft8的encodeclient_sock.send(u'接收成功'.encode("utf8"))3.如果发送给客户端,那么客户端也需要utf8的解码data = all_backs.decode('utf8')...原创 2021-06-24 15:14:27 · 776 阅读 · 0 评论 -
python socket连接使用ctrl+c后端口仍被暂用的解决办法
python socket连接使用ctrl+c后端口仍被暂用的解决办法需要添加标识socket.SO_REUSEADDR sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) sock.bind((host, port)) sock.listen(150)...原创 2021-04-08 19:40:30 · 659 阅读 · 0 评论 -
python3 变量类型/函数返回注解 : ->
python3 变量类型/函数返回注解 : ->变量类型注解,在变量后使用 :类型python3.5新增的,用来注释当前变量是什么类型,常用于复杂的数据结构中。注意冒号后面被注释的必须已经声明过的类型。格式: var : type = valuexigua : str = '西瓜' # 说明xigua是str类型dump_patches: bool = False # 说明dump_patches为bool类型函数返回注解,在函数后加 -> 返回类型格式: def f原创 2021-04-01 17:41:20 · 752 阅读 · 0 评论 -
使用win32file.CopyFile加速文件复制速度
使用win32file.CopyFile加速文件复制速度测试发现,使用win32file来复制文件比使用shutil要快速1/3左右import win32file#路径需要为文件路径,而不是目录路径win32file.CopyFile(start_path,dest_path,1)原创 2021-02-26 16:26:08 · 614 阅读 · 0 评论 -
networkx库 AttributeError: ‘Graph‘ object has no attribute ‘node‘
networkx库 AttributeError: ‘Graph’ object has no attribute ‘node’在运行别人源码时,发现出这个错误,查到原因是由于networkx低版本是有node属性,而高版本没用node属性。解决办法:在运行的代码中查找xxx.node[yyy]这种结构,如果xxx是networkx类型那么将xxx.node改为 xxx.nodes...原创 2021-02-22 13:51:41 · 2210 阅读 · 0 评论 -
关于python数字的一种下划线奇怪写法
关于python数字的一种下划线奇怪写法偶然遇到的一种写法a = 80_000然后打印一下print(a)#结果就是80000同样print(8_0000)#结果80000总结:python中数字之间加下划线就是为了好查看数字长度,本身还是数字。...原创 2021-01-23 17:37:34 · 647 阅读 · 0 评论 -
一句话理解python __getitem__方法
一句话理解python类中__getitem__方法python类中的__getitem__方法,可以将实例化的类,实现字典dict的键值形式。class A(object): def __init__(self): super(A, self).__init__() def __getitem__(self, item): if item == 'xg': return '西瓜' elif item == '原创 2021-01-23 15:50:42 · 404 阅读 · 0 评论 -
python 数字数组tuple之间比较大小
python 数字数组tuple之间比较大小python的数字数组是可以直接进行大小比较的。比较的方式是:依次对比大小比如:依次对比,先大的就大a=(12,1,4)b=(9,2,5)if a>b: print('a>b')else: print('a<b') #结果a>b前面相同,后面大的就大a=(12,1,4)b=(12,1,5)if a>b: print('a>b')else: print('原创 2021-01-18 17:57:19 · 4140 阅读 · 0 评论 -
python 如何判断一个数值(字符串)为整数
python 如何判断一个数值(字符串)为整数不严格检查方法:浮点数的自带方法is_integer()如果确定输入的内容为浮点数,是可以直接使用float数的is_integer()函数来进行判定。需要注意的是当数字是 1.0这样的不带小数数值的浮点数时,会被默认判定为整数a=1.1print(a.is_integer())#结果为Trueb=1.1print(b.is_integer())#结果为False但是如果数字本身就是int类型,比如严格的检查方法思路是:先检查输入的原创 2021-01-14 17:07:14 · 17773 阅读 · 0 评论 -
python 获取映射盘符的真实网络路径
python 获取映射盘符的真实网络路径使用pathlib库轻松解决import pathlibpath=r'X:\DeadlineRepository10'realpath=pathlib.Path(path).resolve()print(realpath)#结果\\192.168.1.188\Deadline\DeadlineRepository10原创 2021-01-06 19:13:16 · 1790 阅读 · 1 评论 -
pandas读存列表、字典以及其它数据类型
pandas读存列表字典即其它数据类型pandas的每列除了存入常见的float,str,int外,还可以存入list,dict以及其他类型的元素.事实上,无论什么类型元素都可以正常写入pandas当中。import pandas as pdclass CGAI(object): def __init__(self,num): super(CGAI, self).__init__()a={'A':[1,2,3],'B':[4,5,6],'C':['q q','w原创 2020-12-29 19:27:31 · 2060 阅读 · 0 评论 -
numpy中argmax、argmin的用法
numpy中argmax、argmin的用法1.argmax,argmin的作用argmax: 返回每行或每列的最大值所在下标索引argmin: 返回每行或每列的最下值所在下标索引参数 axis=0 表示垂直方向,axis=1表示水平方向。(由于个人的思维定势,老认为1是垂直方向,所以遇到numpy的axis方向不管三七二十一,认为是反的,先把axis=1当作水平方向,再看axis=0)import numpy as npa=np.array([[1,2,3,4,5], [原创 2020-12-24 18:17:22 · 4241 阅读 · 1 评论 -
python 获取类的所有子类以及类的名称
python 获取类的所有子类以及类的名称说明:cls就是类获取所有子类def get_subclasses(cls): return [subcls for subcls in cls.__subclasses__()]subc=get_subclasses(BodyItem)获取类的名称:print(cls.__name__)原创 2020-12-21 23:41:29 · 2725 阅读 · 1 评论 -
关于pandas中df[[]]的解谜以及Series与DataFrame的区别
关于pandas中df[[]]的解谜以及Series与DataFrame的区别一直以来我们获取df中某列的值,一般采用df.parm或者df[‘parm’]的方式来获取。今天突然遇到df[[‘number’]]的形式,一开始以为别人写错了,后来才知道原来是取的东西不一样。先看对比代码:import pandas as pddata=pd.DataFrame({'name':['张三','李四','王五'],'age':[18,19,20],'number':[190,200,220]})prin原创 2020-12-21 17:17:48 · 3478 阅读 · 0 评论 -
expected string or bytes-like object
expected string or bytes-like object今天在进行去停用词时遇到的问题,使用正则匹配时出现的。原因已查明,是由于有字节而非字符串的内容存在。解决办法:对传入的字符串进行强制类型转化为str#原函数:def drop_punctuation(text): punc = '~`!#$%^&*()_+-=|\';":/.,?><~·!@#¥%……&*()——+-=“:’;、。,?》《{} \n' new_text=re.sub(r原创 2020-12-21 16:17:01 · 3536 阅读 · 1 评论 -
pandas apply执行函数3点注意
pandas apply执行函数3点注意import pandas as pddata=pd.DataFrame({'name':['张三','李四','王五'],'age':[18,19,20],'number':[190,200,220]})print(data)使用apply可以将df中指定的列全部执行该函数并返回结果需要注意的有3点:1.函数传入的执行对象要对df中的某列执行函数,那函数执行的对象自然是该列,但是函数怎么知道是该列的数据呢。apply默认对第一个参数视为传入的原创 2020-12-21 15:49:37 · 808 阅读 · 1 评论 -
python使用__repr__自定义类名显示
python使用__repr__自定义类名显示对于一个class,当使用默认的打印时,类型可能显示为:(<cgai.item.IPointItem(0x2b4e70f5f10, parent=0x2b4e70f5a10, pos=65,-20, flags=(ItemIsSelectable)) at 0x000002B4E6CFCE08>,)不方便查看,此时可以使用__repr__来自定义的显示名称class A(object): def __init__(self):原创 2020-12-19 13:47:37 · 331 阅读 · 1 评论 -
python使用__new__方法进行数据传承
python使用__new__方法进行数据传承__new__的参数__new__方法确实是实例类用的. __new__默认的参数是cls,cls就是该类,此时cls是包括其所带的内存空间的,如果有static内容存在的话。def __new__(cls):__new__的返回值当使用 __new__时,可以在这里进行实例化的替换(偷天换日), 正常情况下还是返回该类的自身类型def __new__(cls): return super().__new__(cls) #可以return原创 2020-12-18 13:53:04 · 595 阅读 · 0 评论 -
vscode python代码中出现红色波浪线,但脚本能正常运行
vscode python代码中出现红色波浪线原因是开启了pylint代码检测机制导致。解决方法1.ctrl+P 输入setting.json2,打开后里面的json内容添加一句"python.linting.enabled": false3.保存原创 2020-12-14 22:28:58 · 9445 阅读 · 4 评论 -
python去除常见标点符合以及空格
python去除常见标点符合以及空格在处理中文语句进行分词前,标点符号比较占位置,可以使用下面方法清空掉。def drop_punctuation(text): punc = '~`!#$%^&*()_+-=|\';":/.,?><~·!@#¥%……&*()——+-=“:’;、。,?》《{} ' new_text=re.sub(r"[%s]+" %punc, "",text) return new_text测试:t1='1 距离川沙公路较近原创 2020-12-14 15:42:40 · 3237 阅读 · 3 评论 -
NameError: name ‘__file__‘ is not defined
NameError: name ‘file’ is not defined当python在终端或者说在交互式情况下运行时,是无法识别__file__的。此时要获取当前脚本运行的目录可以使用os.path.abspath('')原创 2020-12-14 13:53:27 · 1279 阅读 · 0 评论 -
python 使用变量给函数传入多个参数
python 使用变量给函数传入多个参数原理: 当变量要作为参数传入函数时,变量前加*可以表示多个,加 ** 可以表示字典传入列表或元组参数:def add_project(a,b,c,d): print(a,b,c,d)projects=['A','B','C','D']add_project(*projects)#A B C D传入字典def add_dict(a=1,b=2): print(a,b)dict_map={'a':3,'b':4}#3 4原创 2020-12-01 17:19:35 · 3043 阅读 · 0 评论 -
PYTHONPATH,sys.path,PYTHONHOME
PYTHONPATH,sys.path,PYTHONHOMEPYTHONPATH静态导入模块的地方,指认的目录都会被python识别,自己编写的python模块需要添加到PYTHONPATH上,使用";"分开sys.pathsys.path是在动态导入模块,PYTHONPATH是静态导入模块PYTHONHOMEPYTHONHOME是python标准库所在的地方,一般是你安装的地方,比如: “C:/Python3_7_2”...原创 2020-11-19 10:26:30 · 848 阅读 · 0 评论 -
Pandas提取指定行列
取列1.通过列名称来提取指定列(推荐)#列名:irline_sentiment_gold name negativereason_gold retweet_count text get_data=data[['airline_sentiment','text']]2.通过loc函数传入列名称来获取列(推荐)loc : location 指定列名的位置data.loc[:,'text'] #获取列名为text的那一列3.通过iloc函数传入切片获取列iloc : i原创 2020-11-14 00:15:07 · 31738 阅读 · 3 评论 -
Pathlib常用功能小记
import pathlibroot=pathlib.Path()print(root) #当前相对目录print(root.resolve()) #当前绝对目录target=pathlib.Path(r'F:\PycharmOut\Tensorflow\CNN\cnn.py')print(target) #F:\PycharmOut\Tensorflow\CNN\cnn.py WindowPath对象target_name=target.nameprint(target_nam原创 2020-10-31 15:42:11 · 240 阅读 · 0 评论 -
python 查询导入模块的脚本文件路径
python 查询导入模块的脚本文件路径想查询python导入的某个模块所在的脚本文件路径只需要使用 模块名称+__file__即可import pandasprint(pandas.__file__)原创 2020-10-29 14:49:53 · 424 阅读 · 0 评论 -
python查看已安装的所有模块
python查看已安装的所有模块help('modules')原创 2020-10-24 13:49:41 · 1480 阅读 · 0 评论 -
Python zip函数的多参数用法
Python zip函数的多参数用法zip函数我个人是这么理解的,假如有多个参数,每个参数都是一个列表,列表可以不等长,那么我把每个列表看成一根葱,我现在要切葱花,把这一根根的葱从上到下叠在一起,头部对齐,用菜刀一刀一刀从前往后切。切到最短的一根葱没了为止。其它没切完的葱就不要了。最终得到每一刀从上到下的葱花,这每一刀的葱花本身是一个迭代器,需要循环读取。a=[1,2,3,4,5]b=[1,2,3,4]c=[1,2,3,4]result=zip(a,b,c)print(result)cut=1原创 2020-10-23 17:06:10 · 1226 阅读 · 0 评论 -
python 使用多线程ping内网电脑是否能连接(是否开机)
python 使用多线程ping内网电脑是否能连接(是否开机)项目需要检测内网机器是否能连通(是否开机),说明一下,该方法要检测机器是否开机,必须保证能正常ping通其它机器。import osimport timeimport threadingfrom functools import wrapsdef info(arg): #修饰函数 def _info(func): @wraps(func) def wrapper(*args,**kwarg原创 2020-10-17 18:55:55 · 629 阅读 · 0 评论 -
python 一个函数添加多个装饰器
python 一个函数添加多个@装饰器这里直接使用带参的装饰器。实现单个函数添加多个装饰器,其实只需要对装饰函数进行叠罗汉好就行,装饰函数执行的顺序是从底层往高层执行。from functools import wrapsdef info(arg): #装饰函数 def _info(func): @wraps(func) def wrapper(*args,**kwargs): if arg=='len': #返回长度获取原创 2020-10-17 18:13:03 · 1433 阅读 · 0 评论