
python基础与应用
主要内容:
①python语句、函数、文件、模块操作等基础应用
②python爬虫
③python机器学习
④python相关
Reacubeth
imperfect but true
展开
-
FastAPI搭建文件上传服务器
本文共435个字,预计阅读时间需要2分钟。FastAPI 是一个高性能 Web 框架,也是一个Python包,用于构建 API,适合利用极少的代码搭建服务器后端,实现前后端分离。下面给出了一个任务:利用FastAPI搭建文件上传服务器,给出上传接口,并保存到服务器指定位置。需要使用的Python包:fastapi和uvicorn。服务器代码其中with open(file.filename, “wb”)是将客户上传的文件保存起来,上传的url地址为host:port/file_upload,可以原创 2020-06-27 10:15:09 · 6018 阅读 · 1 评论 -
个人主页信息提取器
本文共731个字,预计阅读时间需要3分钟。简介从研究人员的主页(HTML)中提取信息,并将信息自动分为三类(您可以添加更多的类)。支持中英文页面。可以分成的类别:publicationeducationhonor详细从互联网文本数据中提取并分类学术行为的流程如下图所示,整个过程是线性的。在正式提取学术行为之前,首先人工标注互联网中少量的学术行为,生成训练集后,采用fastText进行训练生成模型并保存。接下来通过Python爬虫获取HTML元数据,将HTML数据传入网页正文提取算法W原创 2020-06-20 14:28:23 · 492 阅读 · 0 评论 -
FR算法(Fruchterman-Reingold)Python实现
简介Fruchterman Reingold (FR)FR算法将所有的结点看做是电子,每个结点收到两个力的作用:其他结点的库伦力(斥力)fa(d)=d2kf_{a}(d)=\frac{d^{2}}{k}fa(d)=kd2边对点的胡克力(引力)。fr(d)=−k2df_{r}(d)=\frac{-k^{2}}{d}fr(d)=d−k2该算法遵循两个简单的原则:有边连接的...原创 2020-04-13 17:39:00 · 4926 阅读 · 2 评论 -
Mac下终端pip与pip3配置(软链接)
缘起今日Mac上的Python环境绝对是个asshole。系统自带一个Python2.7我官网下载一个3.6homebrew悄悄下了个3.xanaconda自带了一个3.x前天更新了一下Xcode命令行工具,竟然给我偷偷下了个3.7,顺带把某一软连接变量写入系统盘,安装的包放到数据盘MacOS Catalina文件系统属实拉胯,绝对没有Windows好使。为了使得终端运行pip...原创 2020-02-05 11:10:01 · 5867 阅读 · 0 评论 -
Python爬虫Scrapy入门
Scrapy组成Scrapy是Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。引擎(Scrapy):用来处理整个系统的数据流,触发事务(框架核心)。调度器(Scheduler):用来接受引擎发过来的请求, 压入队列中, 并在引擎再次请求的时候返回. 可以想像成一个URL(抓取网页的网址或者说是链接)的优先队列, 它来决定下一个要...原创 2020-02-03 19:05:24 · 741 阅读 · 0 评论 -
PyTorch入门
PyTorch入门PyTorch 是一个建立在 Torch 库之上的 Python 包,旨在加速深度学习应用。PyTorch 提供一种类似 NumPy 的抽象方法来表征张量(或多维数组),它可以利用 GPU 来加速训练。PyTorch 既可以看做加入了GPU 支持的numpy,同时也可以看成一个拥有自动求导功能的强大的深度神经网络,除了Facebook 之外,它还已经被Twitter、CMU ...原创 2019-01-14 19:53:22 · 376 阅读 · 0 评论 -
wxpython画表格代码
wxPython是Python语言的一套优秀的GUI图形库。允许Python程序员很方便的创建完整的、功能键全的GUI用户界面。 wxPython是作为优秀的跨平台GUI库wxWidgets的Python封装和Python模块的方式提供给用户的。利用wx.grid命令可以画出类似于Excel一样的表格。grid.SetCellValue用来个表格中的元素赋值。import wximport...原创 2018-12-15 17:33:52 · 2578 阅读 · 0 评论 -
Python利用Graphviz画图
Graphviz的是AT&T Labs Research开发的图形绘制工具软件。Graphviz的是AT&T Labs Research开发的图形绘制工具,他可以很方便的用来绘制结构化的图形网络,支持多种格式输出,生成图片的质量和速度都不错.Graphviz本身是开源的产品,下载可以到 这里,以及他的演示界面 Graphviz在windows上和Linux上都可以顺利运行。使用...原创 2018-11-29 08:50:42 · 15472 阅读 · 0 评论 -
百度文库下载器Python实现
简介以前可以用学校的企业账户下载文档,后来百度文库改版,需要买下载券或者会员。因此需要一个百度文库下载器。之前有冰点文库下载器但是后来不好使了。下面给出利用Python写的百度文库下载器。此下载器可以下载doc类型的,txt类型的文本文档及PPT,不过PPT最终将以图片的形式保存。由于百度文库限制,暂时无法突破有试阅读的文档。PDF文档随缘下载。实现思想及步骤①文档链接...原创 2018-07-12 14:46:16 · 4767 阅读 · 2 评论 -
Python3 OpenCV
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言...原创 2018-08-19 17:42:16 · 952 阅读 · 0 评论 -
QQ聊天记录多角度分析Python实现
简介有时候我们想看看自己跟另一个人的时长、频率、时间等或者是聊天过程中谁更在乎谁多一点,谁是话痨,聊天性格怎么样,这时就需要一个聊天记录分析的程序。下面的Python代码能够统计聊天记录中的时间、消息次数、文本长度、词频等信息。当然有一些小bug,这将在将来的更新中得到修复。原文:omegaxyz.com使用到的Python模块①jieba:结巴分词,用来处理聊天记录中的文...原创 2018-07-07 14:53:54 · 4787 阅读 · 0 评论 -
英文字母信息熵与冗余度计算Python实现
26个英文字母在平均出现时的信息熵是4.7BIT,而去掉冗余度后的英文字母的信息熵是4.03BIT。公式: H(信息熵) = -∑ Pi log2(Pi); Pi:为每个字母在信息中出现的概率; 计算公式并不复杂. 取以2为底的对数的道理也很简单,因为如果: 2n = X 的话,那么logX = n; 所以可以看出所谓信息熵就二进制的字符集在去掉冗余度后的二进制编码位数.冗余度是通过统计每个字符出...原创 2018-05-10 21:04:37 · 7217 阅读 · 1 评论 -
混淆矩阵简介与Python实现
什么是混淆矩阵 混淆矩阵是机器学习中总结分类模型预测结果的情形分析表,以矩阵形式将数据集中的记录按照真实的类别与分类模型作出的分类判断两个标准进行汇总。这个名字来源于它可以非常容易的表明多个类别是否有混淆(也就是一个class被预测成另一个class)如下图: 其中绿色部分是预测正确的,红色是预测错误的。对于二分类(正误)问题来说:参考:http://www.omegaxyz....原创 2018-05-25 20:45:57 · 14259 阅读 · 0 评论 -
Python使用matplotlib画动态图
机器学习需要使用python实现相应的算法,因此学习了Matplotlib中的画图。 更多内容访问omegaxyz.com当然为了能显示机器学习中每次迭代的效果与收敛速度,需要画出动态图形。下面给出两个例子,分别可以画出动态条形图和动态折线图(使用两种不同的方法)。注意要使用到plt.pause(time)函数。动态条形图 基本原理是将数据放入数组,然后每次往数组里面增加一个数...原创 2018-06-11 14:00:22 · 67681 阅读 · 27 评论 -
Python统计磁盘代码文件行数
听说简历要求10万行代码经验。于是写了个Python脚本用来计算电脑磁盘内代码的行数。主要功能:①统计指定代码的总行数 ②统计每个代码单独的行数 ③自定义设置存储路径设计思路:将文件转化为txt文档,对txt文档统计行数。非GUI代码:import shutilimport ospath = "C:\\Users\\dell\\Desktop\\archive...原创 2018-04-02 21:33:53 · 323 阅读 · 0 评论 -
wxpython控件自适应窗口大小
问题:wxpython作的窗口,点击窗口最大化,就会出问题,1、窗口控件并不一起最大化。2、最大化后有些控件找不着了,再恢复窗口,那些消失的控件一样找不到。wxPython 中最复杂的 sizer. 它带来了对部件的显式定位. 部件项目还可以跨越行或列. 专题教程:wxpython中文教程wx.GridBagSizer 的构造器是十分简单的。 wx.GridBagSizer (i...原创 2018-04-02 21:29:27 · 11176 阅读 · 1 评论 -
基于词典的社交媒体内容的情感分析(Python实现)
之前写了一篇基于NLTK情感预测的文章http://www.omegaxyz.com/2017/12/15/nltk_emotion/?hilite=%27NLTK%27b 更多内容访问omegaxyz.com 情感词典是从微博、新闻、论坛等数据来源的上百万篇情感标注数据当中自动构建的情感极性词典。因为标注包括微博数据,该词典囊括了很多网络用语及非正式简称,对非规范文本也有较高的覆盖率。该情感...原创 2018-03-04 22:49:58 · 6294 阅读 · 1 评论 -
Python单下划线与双下划线
foo:一种约定,Python内部的名字,用来区别其他用户自定义的命名,以防冲突._foo:一种约定,用来指定变量私有.程序员用来指定私有变量的一种方式.__foo:这个有真正的意义:解析器用_classname__foo来代替这个名字,以区别和其他类相同的命名.首先是单下划线开头,这个被常用于模块中,在一个模块中以单下划线开头的变量和函数被默认当作内部函数,如果使用 from a_m...原创 2018-03-28 18:42:41 · 460 阅读 · 0 评论 -
Python代码刷博客访问量
寒假闲着无聊自习研究了一下Python爬虫与代理。就发现了一个很简单的刷博客访问量的技巧。首先,我们设置一个代理池,可以用数据库导入也可以简单的用一个数组。代理池可以从http://www.xicidaili.com/选取(如上图)由于两次访问不宜使用同一个IP因此每次随机从代理池中选择一个IP即可。更高级的可以在request时注入不同的Cookie来欺骗服务器。其次利用pyth...原创 2018-02-11 15:45:45 · 1338 阅读 · 1 评论 -
Python GUI程序整理
文章目录GUI程序①Python课程设计Windows系统资源探测器②Python密码存储器③wxpython简单记录生词GUI程序④python微博爬虫GUI程序⑤Python刷访问量GUI程序⑥Python弹球游戏(tkinter模块编写)⑦Python授权码生成器(密码生成器)⑧Python使用wxpython制作简单文本编辑器程序打包成exe文件Pyinstal原创 2018-02-18 09:34:17 · 2796 阅读 · 0 评论 -
Python授权码生成器(密码生成器)
有时候我们需要为自己的产品设置一些使用权限 ,这就需要随机授权码生成器。当然这是简单的随机生成器,像Adobe这种授权码是需要一定的加密算法生成,然后再验证授权码是否正确,而不是简单的生成。本文主要介绍wxpython中简单控件的使用和随机字符串的生成,包括:①文本框 self.text = wx.TextCtrl(panel, wx.ID_ANY, pos=(0, 50), size=...原创 2018-02-08 18:18:27 · 12034 阅读 · 4 评论 -
Python弹球游戏(tkinter模块编写)
python弹球游戏,能够选择难度和分数控制。程序利用tkinter模块编写(说到这里吐槽一下tkinter模块,虽然tkinter是python自带的模块,但是编写手感真没有wxpython好,一个原因是tkinter模块较复杂定义了交互界面还要pack,位置也难调整,更重要的是界面没有wxpython好看) 更多内容访问omegaxyz.com python3代码:from tki原创 2018-02-02 09:15:37 · 2463 阅读 · 1 评论 -
Python密码存储器
(不使用数据库)设计一个密码记录及查询小软件,模拟记录自己在各个网站上所使用的账号及密码,保存在文件中。要求自行设计存储方式,并实现浏览,查询,增加,删除,修改等基本操作,可自行拓展其他功能。拓展功能:①对软件进行加密,并使用用户指定的秘钥对文件中存储的密码进行加密,如果密码输错,则密码解密出来的是乱码,无法看到正确的密码。本程序利用简单的二进制凯撒密码将字符串通过gbk编码后进行转化。原创 2018-02-03 11:42:08 · 2279 阅读 · 0 评论 -
Python英文搜索引擎(模糊搜索)
假设在C:\Record下面有若干个.txt文件,均为纯英文文档。以这些文档为内容,实现一个本地搜索引擎,当用户给出某个输入时,列出相关的搜索结果。可以自行决定改搜索引擎的功能强弱,并给出有关的说明文档。(可考虑NLTK)注意本程序能够对无空格输入、错误拼写输入、乱序输入、部分输入进行完整的模式匹配。并以相关性排序 更多python3内容访问omegaxyz.com 说明文档:主要步骤原创 2018-02-03 11:49:15 · 4584 阅读 · 3 评论 -
wxpython记录生词GUI程序
不使用数据库,实现一个简单的记生词软件,基本功能包括,添加新的生词及其中文含义,浏览已经记录的单词,随机选择部分单词进行复习。可考虑其它拓展的功能。这里使用wxpython的基本操作,以及类与函数的调用方式。import randomimport wxmydic = {}num = []taged = []class InfoPanel(wx.Frame): def原创 2018-02-03 11:51:43 · 535 阅读 · 0 评论 -
Python文章归档
下面是最新的Python文章目录导航。Python基础面向对象语句函数文件正则表达式Python GUI 程序Python模块Python机器学习Python爬虫与Python相关的内容更新至2018年1月22日Python基础(面向对象、语句、函数、文件、正则表达式)http://www.omegaxyz.com/2017/09/18/javavspython原创 2018-01-25 16:45:43 · 633 阅读 · 0 评论 -
Python在指定文件夹生成随机文件
有时我们需要生成一些写有随机字符串的txt文件进行测试,这里我们采用生成随机字符串的形式来创建并命名文件,然后再在txt文件中生成随机的字符串作为内容写入到文件里面。整个过程很简单,但是可以作为一个模板在以后的应用中使用。当然别忘记要f.close()哦。import randomimport stringfor i in range(50): ran_str = ''.jo原创 2018-01-24 11:37:58 · 2801 阅读 · 0 评论 -
Python字符串加密
①base64 Base64是一种用64个字符来表示任意二进制数据的方法。 用记事本打开exe、jpg、pdf这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印的字符,所以,如果要让记事本这样的文本处理软件能处理二进制数据,就需要一个二进制到字符串的转换方法。Base64是一种最常见的二进制编码方法。import base64s1 = base64.encod原创 2018-01-24 11:40:59 · 3095 阅读 · 0 评论 -
Python 编写规范
用IDE写Python编写时有时会有标记,但是程序能正常运行,这里的标记是python编写不规范,下面给出一些规范写法。一行列数 : PEP 8 规定为 79 列,这个太苛刻了,如果要拼接url一般都会超。 一个函数 : 不要超过 30 行代码, 即可显示在一个屏幕类,可以不使用垂直游标即可看到整个函数。 一个类 : 不要超过 200 行代码,不要有超过 10 个方法。 一个模块 : 不要超过原创 2017-09-03 21:41:38 · 407 阅读 · 0 评论 -
Python求解排列中的逆序数个数
在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。一个排列中所有逆序总数叫做这个排列的逆序数。也就是说,对于n个不同的元素,先规定各元素之间有一个标准次序(例如n个 不同的自然数,可规定从小到大为标准次序),于是在这n个元素的任一排列中,当某两个元素的先后次序与标准次序不同时,就说有1个逆序。一个排列中所有逆原创 2017-09-04 22:47:54 · 11244 阅读 · 0 评论 -
Python利用shelve模块设计简单数据库程序
欢迎访问我的网站omegaxyz.com 利用shelve模块写数据库文件在程序关闭时仍然能存储之前的数据。将所有内容都放到函数中会让程序更加结构化。 主程序放在main函数中,只有在if__name__==’main’条件成立的时候才被调用 意味着可以在其他程序中将这个程序作为模块导入,然后调用main函数。我在main函数中打开数据库(shelf),然后将其作为参数传给另外需要它的函数。原创 2017-09-06 23:40:02 · 686 阅读 · 0 评论 -
Python抓取网页图片
网上的代码基本上都是python2,这里的代码使用的是python3注意没有urllib2这个库了。要先做几个个准备工作:①找到有图片的网站②指定电脑保存路径③利用浏览器工具查看网页代码中图片的保存路径(非常重要,如果错误可能抓取不到)下面给出代码:注意看注释网上的代码基本上都是python2,这里的代码使用的是python3注意没有urllib2这个库了。要先做几个个准备工作:①找到有图片的网站②原创 2017-09-09 00:15:21 · 1191 阅读 · 0 评论 -
Python统计txt文件中的英文单词个数
函数:example.strip()分离此行的单词sum()函数的第一个参数是一个列表(list),第二个参数可以直接省去python风格的代码只要一行:sum([len(line.split()) for line in open("C:\\Users\\dell\\Desktop\\123.txt", 'r')])原创 2017-09-10 07:37:40 · 6310 阅读 · 0 评论 -
n阶行列式计算Python和C语言实现
行列式在数学中,是一个函数,其定义域为det的矩阵A,取值为一个标量,写作det(A)或 | A | 。无论是在线性代数、多项式理论,还是在微积分学中(比如说换元积分法中),行列式作为基本的数学工具,都有着重要的应用。 行列式可以看做是有向面积或体积的概念在一般的欧几里得空间中的推广。或者说,在 n 维欧几里得空间中,行列式描述的是一个线性变换对“体积”所造成的影响。 这里介绍一下计算机计算行列原创 2017-09-11 23:43:06 · 9562 阅读 · 4 评论 -
Python使用wxpython制作简单文本编辑器
下面的python代码实现了一个简单的文本编辑器,可以实现编辑加载和保存操作。真个界面是实用wxpython来构建的。wxpython是一个GUI图形界面的库。允许Python程序员很方便的创建完整的、功能键全的GUI用户界面。另外这个文本编辑器还有些不足,包括利用os.exists()来新建文件,但是对已创建的文件效果是可以的。我将在下一代文本编辑器增加各种功能。这个文本编辑器没有什么实用价值,仅原创 2017-09-18 23:33:03 · 4520 阅读 · 0 评论 -
Python读取系统文件夹内所有文件并统计数量
大家先看一下Python os模块中的部分函数python 路径相关的函数 os.listdir(dirname):列出dirname下的目录和文件 os.getcwd():获得当前工作目录 os.curdir:返回当前目录(’.’) os.chdir(dirname):改变工作目录到dirname os.path.isdir(name):判断name是不是一个目录,name不是目录就返回原创 2017-09-19 23:48:44 · 8389 阅读 · 0 评论 -
Python获取指定目录下文件数量及总大小
欢迎大家访问我的网站:omegaxyz.comimport ostotalSize = 0fileNum = 0dirNum = 0def visitDir(path): global totalSize global fileNum global dirNum for lists in os.listdir(path): sub_path =原创 2017-09-19 23:49:33 · 10853 阅读 · 1 评论 -
Python脚本的“__name__”属性
欢迎访问我的网站:omegaxyz.com 每个Python脚本在运行时都有一个“name”属性。如果脚本作为模块被导入,则其“name”属性的值被自动设置为模块名;如果脚本独立运行,则其“name”属性值被自动设置为“main”。例如,假设文件nametest.py中只包含下面一行代码:print(name)在IDLE中直接运行该程序时,或者在命令行提示符环境中运行该程序文件时,运行结果如下:m原创 2017-09-23 10:21:16 · 3474 阅读 · 0 评论 -
Python因数分解
欢迎访问我的网站:omegaxyz.com把一个合数分解成若干个质因数的乘积的形式,即求质因数的过程叫做分解质因数。 分解质因数只针对合数。(分解质因数也称分解素因数)求一个数分解质因数,要从最小的质数除起,一直除到结果为质数为止。分解质因数的算式叫短除法,和除法的性质差不多,还可以用来求多个个数的公因式。 下面利用生成随机数分解因数的方法:from random import randint原创 2017-09-27 09:50:29 · 12478 阅读 · 0 评论 -
Python实现24点游戏
欢迎访问我的网站:omegaxyz.com24点游戏是指随机选取4张扑克牌(不包括大小王), 然后通过四则运算来构造表达式,如果表达式的值恰好等于24就赢一次。 下面的代码定义了一个函数用来测试随机给定的4个数是否符合24点游戏规则, 如果符合就输出所有可能的表达式。这里利用生成的随机数字进行测试:from random import randintfrom itertools import原创 2017-09-27 09:51:19 · 12194 阅读 · 2 评论