原因1:导入包中没有__init__文件,无法被识别为python包原因2:在main主函数中使用了相对导入,Python是不支持常规相对导入形式(from..importxxx)原因1好解决,原因2解决方式如下:在main主函数中使用sys.path.append()进行导入:importosimportsyssys.path.append(os.path.abspath('../XXX'))importxxuif__name__=='__main__'
系统 2019-09-27 17:54:52 2210
如何实现自定义一个异常python内置了许多异常类,为编写代码划定红线,才使调试代码时能及时发现错误。那么我们编写一个模块也可以为使用此模块者划定红线,来约束使用者可用哪些数据,这就需要自定义异常类型。首先需要了的是自定义类是的父类:python说明文档中是这样说exceptionException:所有内置的非系统退出类异常都派生自此类。所有用户自定义异常也应当派生自此类。那么就可以通过直接或间接的继承Exception就可以自定义一个异常类,当然也可以
系统 2019-09-27 17:54:44 2210
通过python的os模块获取windows或者linux主机名的通用函数。复制代码代码如下:#!/usr/bin/envpython#coding=utf-8importosdefhostname():sys=os.nameifsys=='nt':hostname=os.getenv('computername')returnhostnameelifsys=='posix':host=os.popen('echo$HOSTNAME')try:hostna
系统 2019-09-27 17:54:07 2210
这样做的缘由工作需要把100多张图片中的文字(主要是车牌号)提取出来,并作为文件名字。用python从头到尾写车牌识别的功能,耗时耗力。故在网上寻找可用于直接图片文字识别的接口直接调用,省时省力。用百度AI平台接口的理由有百度经验提供每一步的参考,且通用文字识别(高精度版)的功能每天有500次的免费试用机会,且当前功能没有并发需求。故非常适合达到临时目的。具体步骤用百度账号登录百度AI开放平台:https://login.bce.baidu.com选择要使
系统 2019-09-27 17:52:24 2210
这个乘法表看上去比较舒服,(●’◡’●)foriinrange(1,10):#i取值1到9forjinrange(1,i+1):#j取值1到is="%d*%d=%d"%(j,i,i*j)#赋值乘法公式print(s.ljust(8),end='')#每个字符串占8字符,左对齐,i不变时结尾不换行print()#i变时换行函数defmult(n):foriinrange(1,n+1):forjinrange(1,i+1):s='%d*%d=%d'%(j,i,
系统 2019-09-27 17:49:52 2210
Pycharm没有内置的python解释器,需要我们自己下载python解释器。在很多python项目中,会导入第三方的模块,逐个去下载导入很不方便。我们通常使用Anaconda来管理python的项目环境,Anaconda自带python解释器,且提供了大量的第三方模块,引入第三方库很方便。Anaconda的安装如果未勾选第一个添加到Path环境变量中,后面需要手动在path环境变量中添加conda.exe所在目录的路径。红框圈出的是Anaconda核心
系统 2019-09-27 17:48:58 2210
如下所示:#coding:utf-8importosimportpsutilimporttimedefwrite_pid():pid=os.getpid()fp=open("pid.log",'w')fp.write(str(pid))fp.close()defread_pid():ifos.path.exists("pid.log"):fp=open("pid.log",'r')pid=fp.read()fp.close()returnpidelse:r
系统 2019-09-27 17:48:34 2210
加入cas的好处cas是什么东西就不多说了,简而言之就是单点登陆系统,一处登陆,全网有权限的系统均可以访问.一次登陆,多个系统互通cas一般均放置在内网,加入cas验证则必须要求用户走vpn访问,提高安全性;cas可和域控等系统结合,密码定时过期;基本认证统一走cas控制,减去开帐号等麻烦事;django如何使用cas验证django的好处就是支持的包多,网上已经有大神做好的相关的app,直接下载、安装就可以了。我们要做的就是下载、解压拷贝,略微配置下就可
系统 2019-09-27 17:47:28 2210
前言WAF上线之后,处理最多的是误报消除。产生误报有多种原因,比如web应用源码编写时允许客户端提交过多的cookie;比如单个参数提交的数值太大。把误报降低到了可接受的范围后,还要关注漏报。WAF不是神,任何WAF都可能被绕过。所以还需要定位漏过的攻击,明确漏报的原因,才能updateWAF的策略。要定位漏报,就必须分析Web应用的访问日志了。一个站点,每天产生的access日志大概接近1GB,显然靠肉眼看是不现实的。这就需要用python帮助自动分析。
系统 2019-09-27 17:37:54 2210
1base64Python内置的base64模块可以实现base64、base32、base16、base85、urlsafe_base64的编码解码,python3.x通常输入输出都是二进制形式,2.x可以是字符串形式。base64模块的base64编码、解码调用了binascii模块,binascii模块中的b2a_base64()函数用于base64编码,binascii模块中的a2b_base64()函数用于base64解码。importbase6
系统 2019-09-27 17:54:53 2209
数据归一化问题是数据挖掘中特征向量表达时的重要问题,当不同的特征成列在一起的时候,由于特征本身表达方式的原因而导致在绝对数值上的小数据被大数据“吃掉”的情况,这个时候我们需要做的就是对抽取出来的featuresvector进行归一化处理,以保证每个特征被分类器平等对待。下面我描述几种常见的NormalizationMethod,并提供相应的python实现(其实很简单):1、(0,1)标准化:这是最简单也是最容易想到的方法,通过遍历featurevecto
系统 2019-09-27 17:53:19 2209
简介python动态执行字符串代码片段(也可以是文件),一般会用到exec,eval。execexec_stmt::="exec"or_expr["in"expression[","expression]]注意:exec是一个语法声明,不是一个函数.也就是说和if,for一样.官方文档对于exec的解释ThisstatementsupportsdynamicexecutionofPythoncode.exec的第一个表达式可以是:1.代码字符串2.文件对象
系统 2019-09-27 17:53:01 2209
旋转椭圆实例代码:importmatplotlib.pyplotaspltimportnumpyasnpfrommatplotlib.patchesimportEllipsedelta=45.0#degreesangles=np.arange(0,360+delta,delta)ells=[Ellipse((1,1),4,2,a)forainangles]a=plt.subplot(111,aspect='equal')foreinells:e.set_c
系统 2019-09-27 17:52:38 2209
之前用了谷歌的selenium模块,为了练习一下所以写了这个(没错才不是别的理由!)代码里涉及到了各种复杂的情况,包括要找的div在别的iframe中的处理方式,顶部导航栏的定位方式等等。综合性很强下面是代码fromseleniumimportwebdriverimporttimefromfake_useragentimportUserAgentopt=webdriver.ChromeOptions()#opt.add_argument('--headle
系统 2019-09-27 17:52:24 2209
在linux下写几个测试程序,还要一行行的输入g++命令进行编译,当经常改测试代码的时候,那一次次的敲(或者一次次的上线箭头选)也感觉不爽,不如make来的快。用Makefile的好处就不用多说了,这里我写了个脚本,其功能是自动搜索当前目录(不包括子目录)下的“.c”文件生成Makefile文件。代码在这里,功能有限(适用于单个文件是一个独立的测试代码的情况),需要的朋友可以稍作修改以满足需求。复制代码代码如下:#!/usr/bin/python'''Fi
系统 2019-09-27 17:51:44 2209