
python
文章平均质量分 59
V丶Chao
记录自己的学习过程,时常反思,时常进步
展开
-
python过滤数组中的空字符串
20240603 -原创 2024-06-03 21:08:42 · 442 阅读 · 0 评论 -
python字符函数性能对比
20240603 -原创 2024-06-03 20:59:23 · 273 阅读 · 0 评论 -
python多进程编程
20220917 -最近在做论文相关的实验,虽然深度学习部分由底层框架来实现,但是在后续的机器学习实验中,由于涉及到一些算法不能并行跑,所以导致速度比较慢。比如测试10个参数,那么跑十次,速度就下降很多。考虑到使用的机器CPU数量还比较多,那么就将其改变为多进程的执行方式。这部分编程,我记得在几年前在进行日志处理的时候弄过这部分内容,当时也是采用多进程以及多线程的方式。当时是利用类定义的方式,定义队列等内容,逐步进行处理。原创 2022-09-17 16:02:04 · 264 阅读 · 0 评论 -
python相关问题
20220404 -本来以为我之前存过跟其他问题相似的一个整合的文章,但是发现并没有。这里,来记录一些python中相关的问题。1. 删除字典的键值对如果要删除字典中的键值对,可以采用del函数来执行,直接del tmp_dict['tmp_key']这样就可以了。但是上述命令是基于tmp_key键必然存在的假设下,如果不存在,会报错keyerror。如果删除比较多的键值对的话,用try...except命令就比较繁琐,解决这个问题就是使用pop命令。tmp_dict.pop('tmp_key'原创 2022-04-04 15:27:33 · 793 阅读 · 0 评论 -
构建自己的md编辑环境docker
20210514 -0. 引言之前为了记录自己的实验过程,或者一些简单的工作记录,都是在优快云的草稿箱中,来进行记录,好处就是能够使用MD语法, 图片贴起来也比较方便。但是在写久了之后就发现了一些毛病,最让我非常难受的地方,就是这个序号的问题,标题的编号问题,每次弄这个编号,如果有中间的编号变了,那么就得把所有的编号都弄上。另外,这个东西本质上也没有版本控制的过程,我没有办法看到,我之前的历史版本,这就比较尴尬了。如果没删什么东西还好,一旦删了什么重要的东西,就完蛋。...原创 2021-05-15 10:02:44 · 556 阅读 · 0 评论 -
latex论文作图(python+matplotlib)
20210425 -0. 引言论文中进行作图,需要对图片中的各种元素进行控制,最近在论文写作过程中为了能够得到匹配文章的高质量图片,也是花了很多心血。除了对图片中的风格进行控制,另一方面比较重要的就是控制其中各种元素的大小等信息。本篇文章将从这个角度出发,来记录一下最近看到的一些比较好的文章以及自己的一些体会。1. 基础知识在平时进行绘图的过程中,可能也就是控制控制图片大小,figsize=(10,8),然后可能再控制控制一些元素的大小,例如线宽,标题字体大小等。虽然能够达到一定的效果,但是这里存在原创 2021-04-26 08:58:42 · 2675 阅读 · 0 评论 -
Matplotlib调整图例相关内容
20210416 -0. 引言在做实验绘图的过程中,经常要进行图例的调整,一般关于matplotlib的问题都记录在《matplotlib绘图问题》中,但是考虑到这部分内容比较多,就单独列出来进行记录。自定义图例1. 遇到的问题1.1 自定义图例这里的自定义图例仅仅是想替换原有的图形,还没有到使用图片这种级别;而这种方法的话,官方文档中[1]就有相关的例子,先上效果图:上面的图例部分是经过调整后的,而具体的代码如下:from matplotlib.lines import Line2D原创 2021-04-16 09:47:50 · 2968 阅读 · 0 评论 -
matplotlib绘图问题
20200813 -引言这里记录以下关于绘图过程中,使用matplotlib时遇到的一些问题。风格控制问题1. 风格控制文章[1]中列举了一些风格控制的方式,不过这部分我一直没关注过,一直都是使用的默认风格。一次使用过程中,在修改风格之后,希望还原最开始的风格,可以使用下面的命令。matplotlib.rcdefaults()参考文章[1]matplotlib–修改样式...原创 2020-08-13 22:09:32 · 1732 阅读 · 0 评论 -
python随机性实验
202104080. 引言在另外一篇文章中说明了在使用深度学习库的时候,实验结果的可复现的属性,《深度学习实验结果可复现所需设置 - 随机数等内容设置》,文中提到,如果是用GPU加速的话,那么很可能导致实验无法复现。那么就只能使用CPU。好在手里服务器比较多,机器性能也还不错。那么多台机器设置了随机性内容之后,输出结果是否也是一样的呢?!1. 实验其实实验之前我也大概知道结果,一般来说应该是一样的,这取决于随机数生成原理。但是还是通过实验来查看结果。代码很简单#! /bin/pyton3imp原创 2021-04-08 18:31:21 · 650 阅读 · 0 评论 -
python重新导入模块
20210324 -平时如果直接使用脚本运行,每次都重新启动脚本即可,即使已经生成了pyc,解释器也会使用最新的版本;但是如果是jupyter的环境,如果修改了相关的源码,比如说,notebook正在运行,但是我修改了导入库的一些代码,这个时候即使再次import xxx1也不会有反应;就是新导入的版本并不会生效,这个时候需要会用另外一个库。import importlibimportlib.reload(some_library)...原创 2021-03-24 14:30:17 · 244 阅读 · 0 评论 -
plt散点图多颜色图例
20210320 -在使用plt.scatter进行散点图绘制的时候,通过直接指定颜色,可以直接获得结果,大致代码如下:plt.scatter(X[:,0], X[:,1], c = y)但是如果这样的话,在标注图例的时候,就无法标注了,直接使用plt.legend()的话,会提示没有标签信息;而即使将标签数据在plt.scatter的函数中传入,也并不能显示。对于这个问题,在百度上进行了搜索,发现好多人有这种需求,而如果要解决这种问题,那么只能是采用循环的方式,通过循环的方式在每次绘图的时候传递原创 2021-03-20 22:03:00 · 4315 阅读 · 1 评论 -
Matplotlib 3D绘图
20210318 -利用matplotlib进行3D画图可以实现对三维数据的可视化,而使用3D绘图稍有不同,下面进行具体的描述,本篇文章主要参考《Python三维绘图–Matplotlib》,3D绘图是需要指定相应的选项,代码如下:fig = plt.figure(figsize = (12, 12))ax1 = plt.axes(projection='3d')ax1.scatter3D(test_features[:,0],features[:,1],features[:,2],c=train_原创 2021-03-18 14:48:05 · 724 阅读 · 0 评论 -
python命令行Tab自动补全
2017/03/19在网上查到,这部分的功能都是自己添加一个脚本来实现的。import sysimport readlineimport rlcompleterimport atexitimport os# tab completionreadline.parse_and_bind('tab: complete')# history filehistfile = os.path...原创 2017-03-19 21:35:36 · 481 阅读 · 0 评论 -
Pip命令
2019/02/12(整理于2019/02/12)命令索引yum安装pip更新库使用国内的pip源查看包信息(版本,依赖)命令详解1. yum安装pipyum -y install epel-releaseyum -y install python-pip2. 更新库[2]pip install --upgrade name更新pip的话pip install -...原创 2017-03-19 21:45:20 · 389 阅读 · 0 评论 -
DPKT - python3 无法解码错误
20200914 -Traceback (most recent call last): File "convert.py", line 49, in <module> main() File "convert.py", line 12, in main pcapin = dpkt.pcap.Reader(fin) File "/usr/local/lib/python3.6/site-packages/dpkt/pcap.py", line 280, in __i原创 2020-09-14 09:47:12 · 1063 阅读 · 0 评论 -
DPKT - python修改数据包
20200914 -0. 引言翻出来很久之前的代码, 当时是测试是否可以修改PCAP包中的端口号,通过DPKT直接修改就好,例如下面的代码就是将PCAP中的一条流的端口22编程5022。#修改端口if tcp.dport == 22: tcp.dport = 5022if tcp.sport == 22: tcp.sport = 5022其实经过了这个步骤,如果你不需要校验和必须正确的话,在wireshark中是可以解析的(不开TCP校验和)。本篇文章中,记录一下怎么修改TCP原创 2020-09-14 09:39:38 · 2431 阅读 · 2 评论 -
python抓取微博热搜列表
20200912 -今天收拾自己以前的代码,看到了很久之前写的一个抓取微博热搜的代码,最起码的两年了,然后跑了一下,居然还行,只不过并不是理想,数据上有些偏差,但是能用。功能就是每1分钟抓取一次,然后写到日志中。#! /bin/python#coding:utf-8import requestsUSER_AGENTS = [ "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; AcooBrowser; .NET CLR 1.1原创 2020-09-12 20:40:56 · 740 阅读 · 0 评论 -
高并发HTTP请求客户端 - python语言编写
20200902 -0. 引言之前的时候接触过高并发相关的内容,当时接触了类似epool这种编程模型,或者更高级的libev这种时间编程;但是这些都是面向服务端的内容,类似C10K这种经典问题。而对于客户端来说,虽然有很多不同语言或者不同类型的压测工具,但很少有介绍自己来编写这部分内容的。通过百度搜索也可以看到相应的结果。也可能是搜索的关键词不对,反正从百度的搜索结果来看,基本上没有什么有效的结果。但是,直接在谷歌上搜索,是可以找到相应的博文的。所以,本篇文章从搜索得到的结果来入手,学习如何满足这部原创 2020-09-03 21:17:39 · 2401 阅读 · 4 评论 -
python解析命令行参数
20200816 -引言python自带了命令行解析的库argparse,利用这个就能达到不错的效果。基础使用前期学习中,主要参考了文章[1],使用过程中,主要涉及两个方面,定位参数,以及可变参数。当前只使用一个定位参数。初始化import argparseparser = argparse.ArgumentParser()parser.add_argument("file", help = "input file name")args = parser.parse_args()prin原创 2020-08-16 10:23:01 · 794 阅读 · 0 评论 -
python输出带有颜色的内容
20200816 -主要参考了文章[1],不使用第三方库。我当时的需求只需要将字体变色,比如输出[ Error ] 其中Error为红色。def error_print(output): print("[\033[31mError\033[0m] " + output)参考[1]Python通过2种方法输出带颜色字体...原创 2020-08-16 09:48:37 · 806 阅读 · 0 评论 -
range函数参数较大大时占据大量内存
20200805 -引言编写一个编写的时候,发现内存逐步占用越来越大;脚本的目的是利用循环生成大量的数值,然后利用生分成的数值来执行某个函数,大致上的函数伪码就是下面这个:def some_compute(x): passmax_value = 0xfffffffffor i in range(max_value): some_compute(i)问题相关的函数并没有什么占用内存的情况,而且其占用的内存应该在函数结束之后也该清理了。所以占用内存的问题就在于range函数这里。之前我记得我原创 2020-08-06 15:04:23 · 1325 阅读 · 0 评论 -
python启动命令行关闭dos窗口
2017/12/25这个问题引发于我想开一个windump的进程去抓包,但是每次都开了一个窗口。利用文章[1]中的方法。CREATE_NO_WINDOW = 0x08000000subprocess.call('taskkill /F /IM exename.exe', creationflags=CREATE_NO_WINDOW)参考[1]how-do-i-hide-the-cons...原创 2017-12-25 21:56:27 · 1996 阅读 · 0 评论 -
python安装maxmind库
主要参考这个步骤https://blog.youkuaiyun.com/weixin_33757911/article/details/85976603?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute...原创 2020-06-14 19:13:49 · 1083 阅读 · 0 评论 -
脚本设置代理
20200730 -一般就是直接设置环境变量(linux下环境),然后脚本内的request或者urllib就会只用这个设置;就是在库中进行设置,request可以传递参数进去然后选择;设置全局[1]:import socksimport socketsocks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 8080)socket.socket = socks.socksocket前两种方式都尝试过,第三种没有看实际效果。原创 2020-07-31 10:11:19 · 1683 阅读 · 0 评论 -
Python多线程
2017/12/16这篇文章主要针对前几天Mongo数据库进行操作时的一些内容进行记录。首先声明,单线程将所有文件内容读取到内存中,200M的文件只需要30S,所以所有慢的过程都是由于后面进程层面的一些内容产生的,而与读取文件无关,即使是边读取边操作。再次声明的是,这部分的操作内容,对于计算内容应该算是不多的,这部分主要吃socket那部分的内容。目的是,将文本中的记录插入到数据库中,...原创 2017-12-16 11:02:26 · 379 阅读 · 0 评论