
python
胜天半子_王二_王半仙
胜天半子——王二——王半仙儿是也
展开
-
python zipfile和tarfile压缩归档时, 忽略修改时间和用户名等
zipfile和tarfile压缩时忽略最后修改时间, 用户名等信息原创 2023-06-07 11:45:03 · 468 阅读 · 0 评论 -
python __builtin__,一处设置, 全局引用
很久没写博客了, 今天看到一个很吊的东西,特地来记录一下痛点比如我们平时在写python程序时, 有的时候代码里会出现很多重要的全局变量. 很多地方都会引用, 很多地方都会引用这些全局变量, 每次都要重新import, 有没有什么办法不进行import, 然后全局都能引用呢?实现方法当然可以, 就要用到__builtin__这个modules了, 废话不多说, 直接上代码test_02.py# coding=utf-8class A(object): def a_print(self)原创 2022-04-20 16:10:12 · 842 阅读 · 0 评论 -
python2打包exe 以及一些运行出错的问题
python2:python2.7直接安装pyinstaller会报错,版本4与python2不兼容,所以我们安装时需指定兼容的pyinstaller版本号。安装命令如下:pip install pyinstaller==3.2.1py2exe 安装命令pip install py2exe==0.6.9 打包命令:Pyinstaller -F setup.py 打包exePyinstaller -F -w setup.py 不带控制台的打包Pyinstaller -F -i xx.ico s原创 2021-11-04 16:02:21 · 1878 阅读 · 0 评论 -
python 把一个类的方法复制给另一个类
看如下代码一个Resume类, 里面有一个clone方法这个clone方法不是直接实例化自己的类而是实例化一个空类,通过动态赋值来进行cloneclass Resume: def __init__(self): self.id = None def set_id(self, _id): self.id = _id def clone(self): class A: pass a = A() # 这里是属性的复制 for k, v in self.__d原创 2021-05-30 20:55:13 · 1731 阅读 · 0 评论 -
怎么理解python2 的字符串是字节数组
怎么理解python2 的字符串是字节数组很简单,一个中文字符在utf8下面大部分是3个字节, 那么在python2的环境下.赋值一个字符串,x = '你好世界', 请问, 如何打出你好世界中的你字?我感觉这个东西如果能够理解, 就能够理解字符串是字节数组了, 看下面这个例子x = '你好世界'print len(x)print x[:3]print x[3:6]print x[6:9]print x[9:12]for item in x: print ord(item),执行原创 2020-10-29 10:26:32 · 376 阅读 · 0 评论 -
游戏时间的一种思路
游戏时间本身实现来讲很容易搞定,无非两种方法记录开始时间和时间流速比率,什么时候需要游戏时间,直接换算得到每一帧都通过现实世界的时间流逝长度,来进行游戏世界时间的更新这两种方法各有各的好处第一种方法的好处是性能好,不进行额外的计算,什么时候用什么时候进行换算,但是不好的地方是,这样的游戏时间类不能基于游戏时间来进行定时任务的加入,因为本来就是被动计算的,主动去触发一些任务,当然不行了第二种方法的好处是比较灵活,定时任务的加入也很方便,坏处当然就是会比较浪费性能,因为很多时候,进行一次循环是什原创 2020-10-28 00:06:32 · 435 阅读 · 0 评论 -
python循环删除
想要python循环删除不出问题 ,倒序删除即可正序删除x = [1, 2, 3, 4]for i in x: if i == 2 or i == 3: x.remove(i)print x执行结果倒序删除x = [1, 2, 3, 4]for i in x[::-1]: if i == 2 or i == 3: x.remove(i)print x执行结果至于原因python中循环删除列表中元素时的坑!这篇文章里面写的很清原创 2020-10-27 10:52:53 · 242 阅读 · 0 评论 -
解决:“dictionary changed size during iteration”
很简单,dictionary changed size during iteration,就是说在遍历的时候,字典改变了大小,有两种方法可以解决。加上互斥量什么的,互斥访问就行了。这里用的是这种,比较无脑的,直接将它的keys转化为list,相当于将keys存在了一个临时变量里面,所以即使字典的大小改变了,也没关系,不会在本次遍历中使用新加入的,如果是删除的,直接把异常抛了就行。Play...原创 2020-03-30 11:36:37 · 1775 阅读 · 0 评论 -
python 多线程socket的简单demo
大致的思路就是用server循环accept()设置一个函数,用来作为线程的初始函数accept()之后,单开一个线程,将client传递进去即可# coding=utf-8import socketimport threadingimport timefrom Helper.Message import MessageHelperserver = socket.socke...原创 2020-03-25 18:25:03 · 285 阅读 · 0 评论 -
python类的静态变量
比如你要在类里面弄一个类的静态变量用来记录一些数据,不用直接在__init__(self)的构造方法里面去进行设置,虽然即使调用里面的静态方法,也是会执行一次这个类的构造方法的,但是还是直接声明在类的下面比较好class TestClass(object): # 这个变量放在这里效果和java的 # public static int MyIdentityId = 1; # 是一样的效果...原创 2020-03-25 15:12:52 · 585 阅读 · 0 评论 -
socket数据分解时遇到的一个问题:could not convert string to float:
今天在调试客户端和服务端时,遇到了一个bug,一直报错could not convert string to float:我心想,明明粘包问题已经处理了啊,不可能说是上一次的数据没发送造成的错误啊?为什么会这样?原来我发送数据时,数据之间的分隔格式没有设计好,举一个例子,数字类型的数据,转为string之后,负号-就是一个横杠-,程序可没办法识别,于是分解数据时根据-去分解,遇到符号的数据纠错...原创 2020-03-24 20:57:11 · 753 阅读 · 0 评论 -
python将类和方法放入字典中去
将方法放入字典声明字典,定义key-value,再写value的时候,写上方法名字写方法名字的时候不能带括号,因为带上括号会要求带上参数调用的时候可把括号的参数带进去例子如下将类放入字典声明字典,key-value对应的value直接是类名,带上括号,以进行初始化例子如下类:class TestController(object): def __init__(...原创 2020-03-23 15:22:34 · 4313 阅读 · 2 评论 -
python中raise NotImplementedError的使用
raise NotImplementedError的使用感觉很类似于C#中虚函数的效果,它的意思是如果这个方法没有被子类重写,但是调用了,就会报错。错误的使用:代码# coding=utf-8class testClassOne(object): def Test(self): raise NotImplementedErrorclass testClassTw...原创 2020-03-22 13:35:14 · 45305 阅读 · 9 评论 -
int转为stirng,在python和java,C#等不同的地方
在java,C#中,我们可以把int类型的变量,直接和string类型的变量相加,因为int转为string本来就是 int+"”。但是在python中不行,python中str和int不能直接进行相加,需要通过int()和str()来进行呼唤...原创 2020-03-20 15:26:20 · 204 阅读 · 0 评论 -
C#简单实现处理粘包
这里发送数据用的是python 2.*,接收数据用C#,python是服务端,C#是客户端python服务端# coding=utf-8import socketimport structimport sysimport timeif sys.getdefaultencoding() != 'utf-8': reload(sys) sys.setdefaultenc...原创 2020-03-16 21:07:24 · 1174 阅读 · 0 评论 -
python package的简单实用
创建一个package创建一个py文件,类或者变量什么的,写进去,在py文件的第一层级的东西可以被其他东西引入新创建一个package,创建一个py文件,然后即可引入...原创 2020-03-15 14:37:07 · 128 阅读 · 0 评论 -
python简单的使用以下sqlite 3
sqlite 2.5之后都有了内置的嵌入式sqlite数据库python代码如下,注释写的很清楚,可以直接粘贴复制以下去执行如果想要看更加详细的介绍,建议看一下大佬的文章,简洁明了,值得学习浅谈Python自带数据库SQLite3模块的使用(全面详细)# coding=utf-8import sqlite3# 建立数据库# 在项目文件中建立conn = sqlite3.conn...原创 2020-03-15 12:08:40 · 1464 阅读 · 0 评论 -
python 简单的解决一下粘包问题
粘包问题可能发生在数据量很小的情况下,经过底层算法的优化,就把几条很小的数据合并发送了。只会发生在TCP的情况下,UDP一般不会。那么如何解决呢?度娘们给我的回答都能一致,大致的思路就是设置一个数据长度的标志位,并且都是要求占4个字节,有的是说数据标志位和数据一起发送,有的说是先发送标志位,然后紧接着接收数据,害,我感觉都一样。如果先发送标志位的话,额,倒也是可以,首先直接设定接收4个字节的...原创 2020-03-15 11:09:40 · 354 阅读 · 0 评论 -
python socket服务器端一直接收空字符串
我最开始是这样构想的,如果客户端发送88的消息,那么直接关闭服务器端的消息,但是阴差阳错,C#客户端的代码写错了,就看到了这个现象,那就是如果客户端socket代码关闭的话,服务器端会一直接收到空消息最初的代码是这样的:python服务端# coding=utf-8# 使用utf-8编码# coding=utf-8# 使用utf-8编码import socketimport sel...原创 2020-03-14 13:53:56 · 2312 阅读 · 0 评论 -
python 异步Socket , IO多路复用模型,C#客户端
如果用try except 的方法进行循环得读取,会更多的消耗cpu资源,这里用多路服用的模型python 2.* 服务器代码# coding=utf-8# 使用utf-8编码import socketimport select# the max player numberplayerNumber = 10# host and porthost = socket.gethos...原创 2020-03-14 13:20:04 · 523 阅读 · 0 评论 -
python爬虫,简单的爬取小说网站的阅读排名
现在大部分网站感觉都上了反扒的东西,直接写底层很难得到准确结果首先要安装requests,lxmlpip方式:pip install requestspip install lxml具体代码:import requestsfrom lxml import etree#构造自己的数据结果类class xuanhuan: def __init__(self,ranking...原创 2019-11-03 18:59:35 · 2427 阅读 · 0 评论 -
python爬虫入门,几个常用方法
将互联网上的东西下载到本地import urllib.request#urlretrieveurllib.request.urlretrieve("https://www.baidu.com","C:/Users/10167/Desktop/address.html")清除缓存用#urlcleanup,urllib.request.urlcleanup()爬取的网页的简...原创 2019-10-31 21:59:22 · 244 阅读 · 0 评论 -
python基础语法与操作
导入模块儿import cgicgi.closelog()#也可以用如下方法进行导入,这里就只是导入一个函数from cig import closelog模块儿的类别1、自带模块儿2、第三方模块儿3、自定义模块儿第三方模块儿安装方法1、pip pip install 模块儿名2、whl(下载安装)百度lfd python,直接下载下来,后缀名whl 然后目录下 ...原创 2019-10-29 18:43:48 · 437 阅读 · 0 评论 -
python正则表达式
#正则表达式模块儿import resource = "william_x_f_wang@163.com"target = "163.com"result = re.search(target,source)print(result)#原子#1、三个的隐号可以进行保存换行符,用\t,\n去匹配source2 = '''www.baidu.com1231'''target2 ...原创 2019-10-29 18:38:08 · 199 阅读 · 0 评论