Python
文章平均质量分 66
郝伟博士
郝伟,男,留日计算机博士,副研究员,硕士生导师。师从东京大学松崎公纪教授,主要研究方向为网络安全、并行计算与大数据,尤其是在网络环境下大数据安全性的研究。北京华云安信息技术有限公司首席研究员,中新网安技术研究员,上海莱镁晟信息科技有限公司技术顾问。参与国家973项目和国家科技重大专项各1项,主持国家科研项目1项,13项国家发明专利,各类论文25篇,合肥市政认定高层次人才。与清华大学、海克斯康、国防科技大学等多家单位有技术合作。
展开
-
使用BeautifulSoup对头条收藏的HTML数据进行分析
本文介绍了一种基于BeautifulSoup的数据分析技术(不是爬虫),通过使用Python的BeautifulSoup模块对今日头条中的收集页面下载后,对基HTML中的4类信息进行分析和导出。文章以图文并茂的形式介绍了整个提取过程,并添加了大量文字解释、相关参考资料和源代码。本文对有今日头条数据提取需求的朋友有极大的帮助,欢迎阅读和分享。原创 2022-10-06 11:27:07 · 1189 阅读 · 1 评论 -
VS Code错误 “preloads: Could not find renderer” 解决办法
VS Code错误 “preloads: Could not find renderer” 解决办法原创 2022-04-08 11:58:54 · 6966 阅读 · 3 评论 -
Python中日志记录方法
简介在任何工程项目中,日志都是必不可少的内容。在Python语言中,有自带的日志库也有第三方的日志库,或者我们可以自己定义写日志的函数。本文提供了两种方式,以便于用户选择。自定义方法写日志实际上就是要将当前的状态写到文件中,同时对相关信息,如时间函数名称等进行补充。如果自己写函数需要进行相同的操作,核心代码如下所示。自定义的函数没有系统功能多,但是在某些功能上更加强大,推荐中小型项目使用。比如:可以追加更多的信息,比如process的父进程名称,或者追加其他信息如项目名称,作者名称等;可以对消原创 2021-08-07 08:42:23 · 1596 阅读 · 1 评论 -
pandas读取CSV文件注意事项
前言本文是给使用pandas的新手而写,主要列出一些常见的问题,根据笔者所踩过的坑,进行归纳总结,希望对读者有所帮助。示例文件将以下内容保存为文件 people.csv。id,姓名,性别,出生日期,出生地,职业,爱好1,张小三,m,1992-10-03,北京,工程师,足球2,李云义,m,1995-02-12,上海,程序员,读书 下棋3,周娟,女,1998-03-25,合肥,护士,音乐,跑步4,赵盈盈,Female,2001-6-32,,学生,画画5,郑强强,男,1991-03-05,南京(原创 2021-06-14 20:55:35 · 6603 阅读 · 4 评论 -
argparse.ArgumentParser 快速上手
在控制台程序中,一条命令会有大量的参数,可以使用 -h 进行帮助,比如 ssh -h 查看ssh 的帮助,可以看到如下内容:C:\Users\hwaus>ssh -hunknown option -- husage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-E原创 2021-04-24 12:15:47 · 1092 阅读 · 1 评论 -
一分钟理解SoftMax函数
前言SoftMax函数是常用的一个机器学习中的函数,网上的解释很多,你看到的可能是这样的。如果你不是搞学术的,或者数学基础不是那么好,那么我要告诉你:千万不要看!千万不要看!!千万不要看!!!或者是这样的:因为这些内容不仅让人难以理解,而且容易对于初学者还会造成一定的误区。本文以示例和代码进行解释,非常简单直白式,让读者能够快速理解。一分钟示例请从头到尾认真阅读本节,只要你认真看完成了,1分钟即可理解SoftMax函数。解释:给定三个变量 x1=5,x2=−3,x3=0.8x_1=5原创 2021-04-19 14:17:13 · 1221 阅读 · 0 评论 -
梯度下降计实例计算(三维)
简介在文章 1中,介绍了一维函数进行梯度下降的示例。在本文中,我们将介绍二维的梯度下降。函数定义已经函数 z=f(x,y)=(x−4)2+(y−4)2=x2+y2−8x−8y+32z=f(x, y) = (x-4)^2 + (y - 4)^2=x^2+y^2-8x-8y+32z=f(x,y)=(x−4)2+(y−4)2=x2+y2−8x−8y+32。方向导数分别为zzz的xxx偏导数: ∂z∂x=2x−8\frac{\partial z}{\partial x} = 2x-8∂x∂z=2x−8原创 2021-03-29 08:29:47 · 1854 阅读 · 2 评论 -
梯度下降计实例计算(二维)
梯度下降计实例计算(二维)文章目录内容简介示例说明绘制曲线进一步讨论参考资料内容简介梯度下降是在机器学习中重要的计算内容。本文就一个具体的示例,展示如何在梯度下降中。示例说明设损失函数 y=loss(x)=(x−4)2y=loss(x)=(x-4)^2y=loss(x)=(x−4)2,令此函数的导数为g(x)=y′=loss′(x)=2x−8g(x)=y'=loss'(x)=2x-8g(x)=y′=loss′(x)=2x−8。 在一般情况下,如果可以得到g(x)g(x)g(x),那么只要解出 g(原创 2021-03-21 14:13:39 · 2544 阅读 · 1 评论 -
Python中的两种函数可变长度参数类型:*args, **kwargs
文章目录1 简介2 问题3 分析4 示例扩展5 小结1 简介在Python的函数定义中, 我们可以看到有类似 fun(v1, *args, **wkargs) 这样的内容,其中*args, **wkargs 到底指什么,本文将通过一个实例进行简介。2 问题回答*args, **kwargs 到底指什么之前,我们先看这样一个问题:假设有这样的一个函数:fun('test', id=1035, name="Jack", birthday='1992/03/12', sex='m', height='1原创 2021-03-15 15:48:02 · 1256 阅读 · 2 评论 -
非常详细的Series核心操作使用详解
文章目录简介1 创建1.1 通过字典操作1.2 通过numpy数组创建1.3 通过标量创建2 数据访问2.1 通过下标访问2.2 通过索引访问2.3 通过切片访问2.4 布尔变量访问3 索引操作根据数据分组3.1 索引属性3.2 访问索引4 基本操作4.1 添加数据4.2 删除数据4.3 修改数据4.4 查看数据4.5 重建索引4.6 数据对齐5 数据统计5.1 功能介绍5.2 代码演示6 注意事项参考简介Pandas是非常强大的二维数组操作库。而二维库是由多个一级的series组成,它具有以下内容:原创 2021-03-08 11:34:38 · 4341 阅读 · 1 评论 -
一道100个飞机乘客随机坐座位的趣味概率问题
题目如下所示分析题目初看觉得很难用概率学的计算公式来解决,但是对于计算机专业的我们来说,可以方便地使用计算机模拟来解决。这又是一道蒙特卡罗求解算法。我们只要模拟每一次实验,然后执行多次求结果即可。代码实现验证代码使用Python完成。import randomdef onetest(): available_seats = [i for i in range(100)] arrangement = {} for i in range(100): pos原创 2021-03-04 11:56:35 · 1355 阅读 · 3 评论 -
通过统计7万多真实人名生成可信的随机人名
简介随机生成人名有很多应用场景,比如数据库系统学习,网络攻防等。为了生成真实可信的人名,本文通过对约7.1万真实的人名进行频率学习,统计出最常用的100个姓,100个男名和100个女名(均为双字),然后通过随机提取姓和名的组合,可以生成看上去非常真实的姓名,比如:注:如果需要更多的真实人名信息,可以与我联系(18815694732)。---------------------------------男名---------------------------------赵 杰,姜子豪,马 龙,蔡兵原创 2021-02-21 09:22:03 · 3783 阅读 · 0 评论 -
使用matplotlib绘制漂亮的正态函数分布曲线
绘制效果先看下绘制效果。源代码# -*- coding: utf-8 -*-"""Created on Mon Dec 28 17:37:47 2020@author: Hao"""import mathimport matplotlib.pyplot as pltimport numpy as npimport scipy.stats def normal_dis(x, mu=50, sigma=5): ''' x: 输入待计算的值 μ: (mu,原创 2020-12-28 22:30:21 · 5958 阅读 · 0 评论 -
通过一个示例说明为什么需要使用Lamba表达式
文章目录前言示例说明原始代码使用Lambda表达式的代码代码比较前言Lambda表达式是一种简洁的定义函数的方法,其本质就是匿名函数,在很多语言中都受到了支持。但是为什么要使用Lambda表达式呢?通常来说,答案有两点:方便简洁 和 可读性好,即可以使用较少的代码对一些简单的功能进行实现。但是这个说法还是很抽象的,为了让大家更好地理解Lambda表达式的具体作用,下面让我们来看这样的一个实例。示例说明在这个示例中,我们定义了几个函数包括常数函数、一次函数、二次函数等,然后生成随机数并使用matpl原创 2020-11-28 16:11:32 · 358 阅读 · 0 评论 -
Python读取文本文件
读文件给定 C:\data\hello.txt,内容如下:Jack: Hello, how are you?Rose: I'm good.按行读取filepath = R'C:\data\hello.txt'with open(filepath) as txtfile: for line in txtfile: print(line)这种读取方式不好,因为会带有末尾的换行符,所以读取出来是这个效果:Jack: Hello, how are you?Rose: I'm good.原创 2020-11-24 14:16:13 · 588 阅读 · 0 评论 -
生成男女体重的随机二维数据
import numpy as npimport matplotlib.pyplot as plt# import matplotlib as mpl# import numpy as np # from matplotlib import pyplot as plt import matplotlib.pyplot as pltimport numpy as npfrom matplotlib.font_manager import FontPropertiesimport ra.原创 2020-09-25 16:22:21 · 1213 阅读 · 0 评论 -
在Python中使用openpyxl进行Excel文件操作测试
import osfrom openpyxl import Workbookfrom openpyxl.utils import get_column_letter# create a new workbook wb = Workbook()# grab the active worksheetws = wb.activews.title = "TestSheet"# Data can be assigned directly to cellsws['A1'] = 42# Rows原创 2020-08-17 07:42:37 · 247 阅读 · 0 评论 -
安装Jieba失败怎么办?
在安装Jieba时,由于默认使用的是境外的服务器,所以经常会因此网络连接不好,而导致安装失败,如下图所示。这时,我们可以使用国内的一些镜像站点,如清华大学提供了国内的下载站点,我们可以使用以下命令进行安装:$ pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jieba一般情况下,即可完成安装,如果仍然有问题,可以自行搜索其他的下载站点。...原创 2020-08-07 09:23:16 · 2542 阅读 · 0 评论 -
为什么要使用正则表达式(Python版)
正则表达式(Regular Expression,常简写为regex、regexp或re),是文本处理中的一个重要概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本,简单地说,正则表达式就是一门专门用于字符串处理的增强语法。为了了解什么是正则表达式,我们先看一个简单的示例。问题:在字符串 “我叫张三今年28岁,身高182cm,体重90kg,以前的手机号是13912345678,现在的手机号是:18812345678, 家里的电话是66658933,身份证号是 340403198501011原创 2020-08-07 08:21:46 · 1183 阅读 · 0 评论 -
Python基本文本读写操作
前言在计算机中,除了一些专用的文字处理软件 ,如Office,WPS等,最简单的文本文件(*.txt)反而是最流行和广泛使用的用于保存自然语言的数据格式。为了节省空间,文字会以某种编码的形式进行保存。在大多数的中文系统中,“ utf-8 ”或“ GBK ”是最常见的编码格式。文本文件的基本操作的原则是“以什么编码格式保存的,就以什么编码格式打开 ”。大部分常用的编码器都会支持这两种格式,因此这些编辑器,如系统自带的记事本或常见文档编辑器如Word,都不会出现因为编码不支持而产生的乱码的情况发生。然而我们在原创 2020-08-04 23:55:47 · 411 阅读 · 1 评论 -
零散的小技巧
用 Python 画个心print('\n'.join([''.join([('Love'[(x-y) % len('Love')] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2 *(y*0.1)**3 <= 0 else ' ') for x in range(-30, 30)]) for y in range (14, -12, -1)]))...原创 2019-01-22 11:08:11 · 700 阅读 · 0 评论 -
Python调用winrar.exe进行文件压缩
Python语言中有一个zipfile库,可以利用zip进行压缩解压。对于rar格式,我们可以通过`pip3 install rarfile` 安装rarfile库来实现。但是问题是没有办法实现rar文件的压缩。本文介绍了一种通过利用winrar.exe来实现Python对rar的压缩。原创 2020-05-18 17:26:52 · 4140 阅读 · 0 评论 -
NumPy性能小测:与Java性能相当
测试目的简单了解在Python中 NumPy 与 list 的性能差及与源生Java的性能对比情况。测试环境硬件:ADM R7 3700X, 16GB DDR4 26666软件:Windows10 1909 18363.720 | Java11.0.6 | Python3.7.4测试代码Python代码,使用IPython进行计时。In [1]: import numpy as np...原创 2020-04-06 08:59:44 · 943 阅读 · 0 评论 -
使用Python比较两个文本文件的相似度
本文使用Python对两个文本文件进行比较,目的是为比较学生的作业抄袭情况。由于总共有70名学生,两两比较工作量太大,所以写了本程序。算法的基本原理是对两个文件中的行每一行进行比较,统计内容相同的行数,然后与两个文件的最大行数的比值。原创 2020-03-09 18:34:19 · 11271 阅读 · 5 评论 -
5分钟掌握Python之时间日期计算的核心方法
前言时间是所有的应用程序都必需处理的重要内容。在python中,推荐使用datetime和timedelta类来进行处理,因为这两个类以非常简单的方式提供了对时间和日期进行了相应的处理的强大功能。1 引入对象使用标准的语法:import datetime as dt 即可引入。但由于 datetime 存放于 datetime 命名空间中,所以直接引入的话,还是需要使用 dt.datetim...原创 2020-02-06 11:59:43 · 1390 阅读 · 0 评论 -
一个超简单的求全排列的算法,Python仅需几行即可实现
组合问题即从 n 个元素中抽取出 m 个元素,其中 0 ≤ m ≤ n。这个问题的算法很多,基本可以分为递规法,基于用树的分支法,还有计数器法,这些办法虽然可以解决问题,但是大多比较麻烦,代码也比较繁琐。本方设计了一种基于二进制的遍历算法,不仅代码量少实现简单,而且算法高效计算速度快。原创 2020-01-20 11:59:12 · 1393 阅读 · 0 评论 -
深入理解Python的一个常见错误“TypeError: 'str' object is not callable”
相信大家在使用Python的过程中都遇到过“TypeError: 'str' object is not callable”这个错误。这个错误网上有很多文章都说了这个问题产生的原因是定义了str变更,但是事实上还有一个问题几乎都没有提到,本文就此提出这个问题,并附上解决方案。原创 2020-01-20 09:58:54 · 7115 阅读 · 2 评论 -
安装和运行HanLP详解
文章目录使用 pip install pyhanlp 安装错误安装成功但运行提示缺省dataEclipse运行方法Python运行方法使用 pip install pyhanlp 安装错误可能会遇到网络下载错误,解决办法很简单,在网络好的时候多试几次即可。$ pip install pyhanlpCollecting pyhanlp Downloading https://files....原创 2019-12-11 09:58:00 · 2117 阅读 · 0 评论 -
论文查重:利用Python查找两个Word文件的相同内容
文章目录前言基本思路实现代码测试结果小结前言我们在写论文的时候,为了避免论文重复,可以使用第三方的库进行查重。但是,有时候在写论文的时候,只是引用自己之前的资料,在查重前想对自己的论文两篇文章进行查重。网上找了一下,没找到合适的工具,于是就自己用Python写了一个。基本思路两篇论文查重的方法相对比较简单,即将文章拆分成小句,然后小句间进行两两对比。主要实现基本可以分为以下三步:读取...原创 2020-01-02 09:03:51 · 14745 阅读 · 22 评论 -
用Python来分析股票历史趋势的规律
前方如图所示,昨天这支股票下午突然拉高,然后又回落,形成一个上细下粗的“由”字型开关。我观察了之前的趋势,发现只要出现这样的图形,未来几天都会跌,但是到底几率有多大,于是就用Python做了一个简单的测试。获得数据首先,我们可以从Yahoo!获得CSV格式的数据,从而很容易被Python读取。以下链接为胜利股份近5年的数据:https://finance.yahoo.com/quote/...原创 2019-12-21 11:50:47 · 2460 阅读 · 0 评论 -
Python两例:通过遍历给文件添加/删除时间戳
文章目录核心代码文件夹结构输出本文写了两个函数,用于展示Python通过遍历给文件添加/删除时间戳。核心代码import osimport datetimedef addTimeStamp(root): for directory, subdir_list, file_list in os.walk(root): for name in file_list:...原创 2019-12-19 10:16:36 · 819 阅读 · 0 评论 -
Python 的一些常用表达式简要说明(2020/01/15更新)
本文以简化的形式包括了Python大量常用操作。原创 2019-12-13 11:57:53 · 760 阅读 · 0 评论 -
双十一数据造假?让我们用Python来验证一下。
前言淘宝双十一的数字每年都创新高,今年更是达到了2684亿。然后在数字的背后,有人提出了质疑,其中最著名是今年四月的一则微博,作者用双十一前10年的数据进行拟合,并成功预测今年双十一的数据区间为2675.37 - 2689,如下图所示。那么事实是不是这样,他说的有没有道理。今天我们就用Python来验证一下。准备知识首先,我们先简单介绍一下拟合的工作原理。如上图的散点图所示,如果有了近十...原创 2019-11-17 08:06:17 · 2584 阅读 · 2 评论 -
示例:利用Python对多个文件夹的文件按统一规则命名
本示例演示了使用python将存储在多个文件夹中、有重名且命名不太规范情况下,将所有文件合并复制到同一文件夹下的实现过程。原创 2019-10-16 11:43:29 · 1192 阅读 · 0 评论 -
一个自动将C#项目打包成ZIP的Python小程序
说明每次C#项目在发布的时候有两问题:每次都要把项目中的文件复制到指定的位置然后打包每次都要删除多余的文件。所以,为了方便操作,特编写了此类。用法$ python TMaker.py $pname $version$debug: C#项目的项目名称,在代码中对应inputs字典中的key。$version: 项目的发布版本,如1.0。源代码第二版:将两个字典进行了合并...原创 2018-12-16 12:05:43 · 815 阅读 · 1 评论 -
使用Python在Linux下做批处理操作Git代替原有的ShellScript
确实要比原生的shellscript要强大方便地多。方式一,每次都下载打包再删除。#!/bin/pythonimport os;os.system('ls')os.system('git clone https://username:passwork@gitee.com/hwaust/Anti_Theft.git')# compile &amp; compress (to be add...原创 2018-12-18 23:24:48 · 827 阅读 · 0 评论 -
Python打包Java项目脚本(一):不调用第三方jar包
一直都是使用Eclipse或IntelliJ IDEA,结果离开了编译工具完全不会使用javac进行编译。最近,为了一个自动化编译不得不使用命令行进行编译。今天这个示例是一个简单的将指定文件夹的代码编译成class文件,然后再打包成jar的例子。给定示例java项目的文件夹结构如下所示。.├── build│ └── classes├── jars├── makefile.py└...原创 2018-12-30 21:50:07 · 1822 阅读 · 0 评论 -
Python打包Java项目脚本(二):调用第三方jar包
项目生成之前的结构图。.├── WebContent│ ├── META-INF│ │ └── MANIFEST.MF│ ├── WEB-INF│ │ ├── classes│ │ ├── lib│ │ └── web.xml│ └── index.jsp├── makefile.py└── src └── com ...原创 2019-01-08 15:33:36 · 1823 阅读 · 0 评论 -
Redis 在Ubuntu下的安装及Java和Python应用实例
下载地址:https://redis.io/download安装环境: Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-140-generic x86_64)安装过程下载安装操作$ wget http://download.redis.io/releases/redis-5.0.3.tar.gz$ tar xzf redis-5.0.3.tar.gz$ cd...原创 2019-01-14 10:26:52 · 636 阅读 · 0 评论 -
一个用于将py打包成pyc的python脚本
如下所示。# 2019/01/14 Hao # A simple script to compile a python file into a pyc file for two reasons:# 1. Accelerate the loading # 2. Secure the source code # Usage: $ py2pyc.py in.py [out.pyc]# py2...原创 2019-01-14 13:41:56 · 2284 阅读 · 0 评论