![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
文章平均质量分 55
amcomputer
内修数据结构机器学习,外练web开发网络安全。
展开
-
Python字典的get()方法介绍
1 背景Python字典的get()方法介绍今天看到一个字典用法,自己学习一下。2 字典常用初始化下面这个方式,应该是最常见的吧。dictOne = {"one":1,"two":1}myList = ["three", "four"]for i in Mylist: if i in dictOne: dictOne[i] + =1 else: dictOne[i] =13 get()方法介绍有幸看到了下面这个用法(最后一行)import jieba # jieba原创 2022-05-30 22:30:34 · 1789 阅读 · 2 评论 -
python 通过给定目录统计所有的不同子文件类型及占用内存
1 背景python 通过给定目录统计所有的不同子文件类型及占用内存。看这个名字觉得挺吓人的,但其实数据或者文件夹中已经有了具体信息,如数据类型,大小等等,只需要遍历目录或者文件拿到这些信息就好了。主要利用了操作系统的提供的接口(OS模块),从里面获取具体的文件数据。2 OS模块介绍Python OS模块包含普遍的操作系统功能, 这里的的OS是操作系统的简写(Operation System)。该模块 可以处理文件和目录这些我们日常手动需要做的操作。如果你希望你的程序能够与平台无关的话,这个模原创 2022-05-30 16:48:06 · 355 阅读 · 0 评论 -
速记法-python输出递减序列
1 背景Python里面的内置函数range()函数一般输出为递增序列, 如下面几种情况:1.1 range实例for i in range(10): print(i)输出为:0123456789for i in range(1,10,2): print(i)输出为:135791.2 range语法介绍range(start,end, step)start 开始end 介绍step 间隔需要注意的是range()函数是左闭右开区间。而遇到原创 2022-04-20 18:00:36 · 4101 阅读 · 0 评论 -
今天你相亲了吗?相亲号匹配问题
Number matching: How to match guys and girls on a blind date quickly号码匹配:相亲的男生和女生如何快速匹配1 背景介绍由于信息化的发展和进步,适龄男生和女生的相亲活动逐步由线下转变为线上活动。这样不仅仅节约了大量的时间,同时也能方便适龄人寻找对象。2 样例介绍现在有5个男生,每个男生最多能选择3个女生,也可以选择1个或者不选。同时也有5个女生,每个女生最多能选择3个男生,也可以选择1个或者不选。选中规则,在线上相亲过程中,男女双方原创 2022-04-16 11:41:52 · 551 阅读 · 0 评论 -
兔子会死怎么办? 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,假如兔子会死
兔子会死怎么办? 古典问题:有一对兔子原创 2022-04-12 12:56:25 · 2522 阅读 · 0 评论 -
Python数据分析期中测试--百货商场案例
Python数据分析期中测试--百货商场案例原创 2022-04-06 11:39:52 · 2641 阅读 · 3 评论 -
python turtle画图
一 基本命令python'''Turtle是一种渲染器,和窗体程序.表示成员访问号'''import turtleDISTANCE = 100# 1 设置画布大小 (600,600,"red") 宽 高 背景颜色#turtle.screensize(800,600)# 2设置起始坐标 (0,0) 左上角 (x,y) 用得比较多,也可以设置画布大小turtle.setup(800,600,0,0)# 3 turtle设置快慢 0到100 速度增加turtle.speed原创 2022-03-18 20:09:04 · 982 阅读 · 0 评论 -
海量文件遍历之统计所有的不同子文件类型及占用内存
统计所有的不同子文件类型及占用内存1 核心代码import os """通过给定目录,统计所有的不同子文件类型及占用内存"""size_dict = {}type_dict = {}def get_size_type(path): files = os.listdir(path) for filename in files: temp_path = os.path.join(path, filename) if os.path.is原创 2022-03-05 21:26:36 · 213 阅读 · 0 评论 -
海量文件遍历之 python解压文件
先看文件目录,在data10954目录下现在开始用python解压这2个文件,直接以函数方式,核心是用了zipfile这个库直接上代码import zipfileimport osdef unzip_data(src_path,target_path): # 解压原始数据集,将src_path路径下的zip包解压至target_path目录下 if(not os.path.isdir(target_path)): z = zipfile.ZipFile原创 2022-03-05 11:43:19 · 601 阅读 · 0 评论 -
python列表练习-列表如何去重(不使用set或者dict)
前提不使用用set或者dict列表去重:1 首先记录哪些数据是重复的 (8,2),表示8重复了2次2 然后删除对应元素'''列表去重:1 首先记录哪些数据是重复的 (8,2)2 然后删除对应元素'''li = [8 ,3 , 12, 1, 2, 34, 54, 12, 34 , 54, 12, 34, 11, 12, 14, 9, 1 , 10, 15, 17, 18, 99, 1, 3, 5, 10]duplicate_list = []# 记录for i in li:原创 2021-11-23 10:35:38 · 861 阅读 · 0 评论 -
Python 中的 MRO —— 方法搜索顺序
问题的提出:● 如果 不同的父类 中存在 同名的方法,子类对象 在调用方法时,会调用 哪一个父类中的方法呢?提示:开发时,应该尽量避免这种容易产生混淆的情况! —— 如果 父类之间 存在 同名的属性或者方法,应该 尽量避免 使用多继承Python 中的 MRO —— 方法搜索顺序(知道)● 在搜索方法时,是按照 mro 的输出结果 从左至右 的顺序查找的● 如果在当前类中 找到方法,就直接执行,不再搜索● 如果 没有找到,就查找下一个类 中是否有对应的方法,如果找到,就直接执行,不再搜索●原创 2021-10-24 22:25:44 · 518 阅读 · 0 评论 -
python异步爬虫实现与总结
一 背景默认情况下,用get请求时,会出现阻塞,需要很多时间来等待,对于有很多请求url时,速度就很慢。因为需要一个url请求的完成,才能让下一个url继续访问。一种很自然的想法就是用异步机制来提高爬虫速度。通过构建线程池或者进程池完成异步爬虫,即使用多线程或者多进程来处理多个请求(在别的进程或者线程阻塞时)。import time #串形def getPage(url): print("开始爬取网站",url) time.sleep(2)#阻塞 print("爬取完原创 2021-05-10 21:05:55 · 938 阅读 · 16 评论 -
爬虫常用请求头和响应头信息
常用请求头信息:-User-Agent:请求载体的身份标识,即浏览器信息(如版本,apach信息,OS版本)-Connection: 请求完毕后,是断开连接还是保持连接- Referer: 表示请求来源,目地是防止盗链或者恶意请求。比如说我准备访问www.baidu.com. 而我是从360网站里面访问的百度主页,说明来源是360,此时Referer=http://www.360.com-cookie:查看用户身份,保持会话常用请求头信息:-Content-Type:服务器响应回..原创 2021-05-09 23:16:27 · 1661 阅读 · 2 评论 -
Scrapy爬虫框架总结
python的Scrapy爬虫框架有5个大部件,细分的话有7个小部件。框架隔一段时间不用就会忘记很多知识点,学了好几遍了,老是忘记一些常用的数据扭转逻辑,因此写下该博文,以期帮助后续爬虫学习和开发。同时,时间长了容易忘记这些部件,因此尝试对scrapy爬虫框架进行总结。一 理解数据流图理解数据流图后,可以对Scrapy框架进行总体上的把稳和理解,方便后续对组件的理解。二 理解部件功能按照数据流图扭转步骤介绍:Spiders:功能:1发送请求url,2解析response里面.原创 2021-05-09 10:38:49 · 399 阅读 · 3 评论 -
python合并字典的2种方式
python合并字典2种方式分别为,使用内置方法 update,和**a操作一内置方法a = {1:2}b = {3:4}a.update(b)print(a)二 **a操作a = {1:2}b = {3:4}c = {**a,**b}print(c)第一种是改变a字典第二种是生成新的字典c。三 进一步思考**a是什么?从下面资料不难看出,用于函数调用时的传参和构建字典。In a function call*tmeans "...原创 2021-05-03 12:13:17 · 400 阅读 · 0 评论 -
2021蓝桥杯python
最近比较烦心,第一次报名参加了蓝桥杯,选择了python。比较有把稳的写了五导题,其他的尽量偏分,在知乎上看到了原题截图(震惊,考场不是不能上网嘛?居然还有人这样。。。),反正考完了,把题目汇总一下,以后有空时把代码撸一编。python 还有2道题目是 输出日期,和杨辉三角(找出某个数出现的位置),其他的和上面的C的基本一致。...原创 2021-04-18 23:10:11 · 8603 阅读 · 6 评论 -
AUPRC Vs 平均查准率
很多场景下,会看到AUPRC与平均查准率的混用,即一般情况下,默认二者相同,即AUPRC = average precision但实际上,二者是不同的, average precision只是AUPRC值的近似。注意python (sklean)和R都采用了这个方式计算AUPRC# Compute Precision-Recall and plot curveprecision, recall, thresholds = precision_recall_curve(y_test, clf.原创 2021-01-12 21:19:29 · 4965 阅读 · 3 评论 -
服务器conda环境使用python虚拟环境教程
在github上下载的代码,如果为python代码或者项目,通常都有环境依赖,每次下载不同的包,会覆盖掉以前的包版本。因此,往往采取一个算法一个虚拟环境的方式进行跑代码。以这个github项目代码为例,介绍如何运行一个项目(代码地址,这个算法 是 Source code for CIKM 2020 paper "Fast Attributed Multiplex Heterogeneous Network Embedding",下载后解压传到服务器上)1 连接服务器2 查看服务器存在的虚拟.原创 2020-12-25 15:40:38 · 7443 阅读 · 7 评论 -
flask mysql数据库单元测试
在使用sqlite数据库时,不需要指定数据库名都可以访问默认连接 def setUp(self): #执行前 app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite://' db.create_all()而对于mysql数据库则需要显示指定。先来到mysql命令控制行然后 create database test;然后在单元测试类加入连接即可: def setUp(self): #执行前原创 2020-12-24 17:47:52 · 283 阅读 · 2 评论 -
为什么有转发和重定向的区别
为什么有转发和重定向的区别原创 2020-12-21 23:39:07 · 689 阅读 · 0 评论 -
flask 不能访问/login
一 问题Not FoundThe requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.在学习flask 时,需要定义登录页面,路由函数很自然定义为如下:@app.route("/login/", methods=['GET', 'POST']) 写好路由函数后,访问页面,发现却是:源码如下:@a原创 2020-12-06 10:14:37 · 16696 阅读 · 1 评论 -
pytorch np.ndarray转tensor失败
报错信息:TypeError: can't convert np.ndarray of type numpy.int32. The only supported types are: float64, float32, float16, int64, int32, int16, int8, uint8, and bool.众所周知,在torch中,与numpy数组互相转换的API是torch.from_numpy() 或者.numpy()但有时候,二者直接转换会遇到报错(下图第87行)..原创 2020-09-08 20:32:35 · 6706 阅读 · 0 评论 -
多标记学习指标(一篇博客就够了)
目前已经实现指标(后续不断更新):写作初学:代码写好了,评价指标很杂很乱,想写一个适合多标记学习或者多标记分类评价指标的类-实现各种常用指标,免得以后到处找,耗时耗力。1 准确率-accuracy2 F1值 -fscore3 hamming_loss -hamming_distance4 AUROC5 AUPRC - (很多博客没有找到这个)6 查准率- avgPrecision7 召回率 -avgRecall# -*- coding: utf-8 -*-"""...原创 2020-09-07 21:15:50 · 2011 阅读 · 0 评论 -
python实现AUROC多标签分类计算
import sklearnimport numpy as npfrom scipy.sparse import csr_matrixfrom scipy.sparse.csgraph import laplacianfrom scipy.sparse.linalg import eigsfrom sklearn.metrics import accuracy_scorefrom sklearn.metrics import f1_scorefrom sklearn.metrics impo.原创 2020-09-07 20:00:59 · 4198 阅读 · 3 评论 -
pytorch处理inf和nan数值
在构建网络框架后,运行代码,发现很多tensor出现了inf值或者nan,在很多博客上没有找到对应的解决方法,大部分是基于numpy写的,比较麻烦。下面基于torch BIF函数实现替换这2个值。a = torch.Tensor([[1, 2, np.nan], [np.inf, np.nan, 4], [3, 4, 5]])aOut[158]: tensor([[1., 2., nan], [inf, nan, 4.], [3., 4., 5.]])...原创 2020-09-06 16:39:54 · 18727 阅读 · 2 评论 -
DGL.heterograph创建错误
raise DGLError("dgl.heterograph no longer supports graph construction from a SciPy " data = getM4Ldata(data_file_path) data_dict = { ('Gene', 'bag-labled', 'Disease') : data['GvsD'], ('Gene', 'bag-instance', 'Isofrom') :dat.原创 2020-09-04 20:09:43 · 2593 阅读 · 4 评论 -
pyspider显示web太小
在使用pyspider时,发现web显示画面太小,看起来不舒服进入\Lib\site-packages\pyspider\webui\staticpider\webui\static文件夹下,并打开debug.min.css文件。替换为:body{margin:0;padding:0;height:100%;overflow:hidden}.warning{color:#f0ad4e}.error{color:#d9534f}#control{z-index:9999;min-width:7.原创 2020-08-28 17:20:31 · 579 阅读 · 1 评论 -
python处理matlab的mat数据
python 和matlab是2个常用的实验室平台工具,在一些应用下,这2个不同平台下的数据会打交道,因此如何读取和保存显得尤为重要,这里需要用到python的第三方平台下的scipy模块。先用下面这个命令检查是否下载好scipyimport scipy如果报错,用python install scipy 或者 conda install scipy 下载安装需要用到scipy中的输入输出类中的loadmat 和savemat方法:import scipy.io as sio.原创 2020-08-21 16:37:31 · 1642 阅读 · 2 评论 -
argparse模块介绍
在服务器上运行python程序时候,往往需要输入额外的参数,或者希望这些参数不用直接在代码里面改变,使用argparse内置模块不失为一种好办法。使用步骤使用仅仅需要3个步骤就可以完成:1,创建对象parser = argparse.ArgumentParser(description='example')2,增加参数parser.add_argument('--no-cuda', action='store_true', default=False, ...原创 2020-08-18 18:01:16 · 1221 阅读 · 0 评论 -
pyhon列表生成器用法汇总
在很多数据处理过程中,经常会见到列表生成器,因为它语法简单,很多复杂操作仅仅一行代码就搞定。一 基本语法基本语法: [表达式 for x in list]a = [x for x in range(1,5)]aOut[112]: [1, 2, 3, 4]二 条件分支基本语法: [表达式 for x in list if 条件]a = [x+3 for x in range(1,5) if x>2]aOut[116]: [6, 7]三 else基本语...原创 2020-08-18 12:17:05 · 191 阅读 · 0 评论 -
python导入tensflow.keras报错解决方法
在使用tensflow.keras可能会遇到如下错误:解决方案步骤如下:1 先导入tensorflow,如不能,则去下载tensorflow>>> import tensorflow>>> import tensorflow.keras2 导入tensorflow中的kearas,上面第2条命令3 换个方式导入>>> from tensorflow import keras>>> from t...原创 2020-08-12 11:09:53 · 35125 阅读 · 3 评论 -
基于GUI界面的凯撒密码实现
基于GUI界面的凯撒密码实现涉及到2个模块,分别为凯撒密码加密,解密逻辑实现,和GUI展示模块.想对以前写的凯撒密码做一个简单扩展,练习练习TKINT,故写了此篇.凯撒密码涉及到对密码的加密与解密,加密过程比较简单,通过移位操作就可以完成,解密需要知道移动多少位,这里笔者使用基于统计实现,感兴趣可以看我第一篇博客.后面有GUI代码,完整代码见githubGUI设计分别包括用户输入,3个按钮, 选择移动key,如下图所示:j加密步骤如下,第一步 选择输入文本为(随便在2020AA.原创 2020-08-06 21:57:50 · 852 阅读 · 0 评论 -
python类继承bug
最近写类继承时发现python的继承需要改动基类参数才能实现调用父类的构造函数,这样在继承父类后,特别是对于多继承时,发现传递参数不成功,最后我修改了父类的成员变量顺序才成功(欢迎有其他想法的同行留下自己的思考,我只能解决问题,还没找到出现原因)。需求如下Item为父类,成员变量为name和aomunt, 成员函数分别为buy,sell和get操作;先一个子类NewBook 需要继承Item,只需要用到amont变量,name为固定字符串。且只能继承它的成员变量和成员方法,NewBoo...原创 2020-08-01 18:09:28 · 368 阅读 · 0 评论 -
Python猜数字游戏
Python猜数字游戏简单实现,实现特定如下:1,统计赢的次和游戏次数2,每次猜数字有6次机会,猜不到就到下一轮游戏3,游戏结束输出胜率需要注意的是python 的random.randint(a,b)是闭区间,既返回的是 range(a,b+1)# -*- coding: utf-8 -*-"""Created on Fri Jul 31 18:43:45 2020@author: 1002"""from random import randint...原创 2020-07-31 19:32:02 · 4112 阅读 · 0 评论 -
Python实现小圆覆盖大圆问题
问题回顾 给定一个半径为10m的圆,和若干半径为1m的小圆(小圆个数足够多),现在要用若干小圆来覆盖这个大圆。问至少需要多少个小圆才能覆盖这个半径为10m的圆?求解思路 为保证小圆数量最小,既圆与圆之间不重叠,既相切情况。 因为需要考虑大圆与小圆之间的间隙,也要考虑小圆与小圆之间的间隙。 故只能采取近似思想进行计算。 1、当r<R<2r时,n=1; 2、当2r<=R<2.1547r时,n=2; 3、...原创 2020-07-25 15:18:33 · 6765 阅读 · 3 评论 -
python3快速安装pytorch
需要安装pytorch,尝试了几次还是失败。同时,由于pytorch比较大,下载速度也比较慢,在这里总结快速安装pytorch步骤,以拱自己以后参考和同行参考。一 安装清华镜像在自己C盘这个路径下(C:\Users\1112\AppData\Roaming),主要是在AppData\Roaming这里,用户(1112)每个电脑可能不同(我的是win10)。然后新建文件夹pip,如下图:然后在pip文件夹里面新建文本文档pip.ini,里面内容为:[global]...原创 2020-06-22 11:12:02 · 12780 阅读 · 4 评论 -
GBDT去预测时序数据
最近有一个需求,需要用到GBDT算法去实现对时序数据进行预测(回归任务),数据是从2011年1月到2020年4月份6个不同城市的房地产交易数据,由于在网上没有找到对应的基于时序数据来用GBDT算法的博客或者资料,我也去github上面找个,出现最多的是,基于特征数据对标签进行预测,实现如分类或者回归问题,基于此,想写一个关于时序数据处理的简单介绍,后面有代码和数据地址一 数据介绍 6个城市分别是,重庆,杭州,洛阳,南充,芜湖,对于特征如下图所示: 回归任务为基于历史数据对...原创 2020-05-23 10:59:11 · 3643 阅读 · 1 评论 -
python画桃心表白
python用turtle画简单图案比较方便,大一学python的turtle模块时,记得要画各种图案,如国旗,桃心等等图案,期末课程设原创 2019-11-26 16:37:36 · 28028 阅读 · 6 评论 -
排序算法(python实现)
排序算法一共有2类: 算法时间fuzh复杂读与nlogn比较,大为非线性类,小为线性类; 非线性类比较类排序有:交换排序(冒泡,快速),插入排序(简单插入,shell),归并排序(2路归并,多路归并),选择排序(简单选择,堆排序); 线性时间非比较类排序有:基数排序,计数排序,还有桶排序。下面代码实现了8种算法,用户进入后直接按命令选择就好,代...原创 2018-11-12 10:01:25 · 183 阅读 · 0 评论 -
python在不同盘之间导入模块
在写python 程序时,我们可能会遇到这种情况,一个类在E盘,而另一个类(或者里面函数)在F盘,我们需要这2个模块组合起来,一般刚开始我们会使用如下命令:import F:\code\xxx#当然此时自己路径在d盘或者其他盘我们运行后发现会报错;下面介绍正确导入方法:假如我在这个路径下的hello.py里面,如图:而我想把f盘下的rdisClint.py导入...原创 2019-04-24 17:57:30 · 1736 阅读 · 0 评论