刚刚开始学习python,当前看到了函数这一节。结合数组操作,写了个非递归的全排列生成。原理是插入法,也就是在一个有n个元素的已有排列中,后加入的元素,依次在前,中,后的每一个位置插入,生成n+1个新的全排列。因为Python切割数组或者字符串,以及合并比较方便,所以,程序会节省很多代码。defgetArrayInsertCharToStr(STR,CHAR):arr=[]s_len=len(STR)index=0whileindex<=s_len:#分割
系统 2019-09-27 17:56:11 2277
列表和元组的主要区别在于,列表可以修改,元组则不能。一般情况下,在几乎所有的情况下列表都可以代替元组例如:使用序列可以表示数据库中一个人的信息(姓名,年龄)复制代码代码如下:>>>edward=['EdwardGumby',42]序列还可以包含其他序列复制代码代码如下:>>>edward=['EdwardGumby',42]>>>john=['JohnSmith',50]>>>database=[edward,john]>>>database[['Edwa
系统 2019-09-27 17:55:13 2277
Python基本数据类型数字类型整数类型可正可负,取值范围不限;四种进制(二进制0b、八进制0o、十进制0d、十六进制0x);浮点数类型取值范围存在限制,常规计算可忽略,取值范围数量级-10^307~10^308,精度数量级10^-16;运算时存在不确定尾数,不是bug,可用round()函数,截取尾数位数;科学技术法e表示a*10^b,例如:5e3==5x10^3,5e-3==5x10^-3;复数类型如果x^2=-1,那么x的值是什么?定义j=,以此为基
系统 2019-09-27 17:53:28 2277
scrapy爬虫框架启用命令注意事项1.cd到你指定的文件夹下;2.scrapystartprojectSpider(项目名字:自定义);3.cdSpider(cd到你创建的项目下);4.scrapygenspiderexample(爬虫.py的名字)example.com9(你要访问的域名,不要写http/https协议);5.scrapycrawlexample(爬虫py.的名字)在执行第4步时,一定要保证在你创建的爬虫项目之下去执行命令,否则爬虫文件
系统 2019-09-27 17:52:55 2277
Python中如果要使用线程的话,python的lib中提供了两种方式。一种是函数式,一种是用类来包装的线程对象。举两个简单的例子希望起到抛砖引玉的作用,关于多线程编程的其他知识例如互斥、信号量、临界区等请参考python的文档及相关资料。1、调用thread模块中的start_new_thread()函数来产生新的线程,请看代码:复制代码代码如下:###thread_example.pyimporttimeimportthreaddeftimer(no,
系统 2019-09-27 17:49:41 2277
什么是POP3、SMTP和MAP?POP3是PostOfficeProtocol3的简称,即邮局协议的第三个版本,他是规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的协议。它是因特网电子邮件的第一个离线协议的标准。POP3允许用户从服务器上把邮件存储到本地计算机上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接受邮件服务器,用来接受电子邮件。SMTP的全称是SimpleMailTransferProtoco
系统 2019-09-27 17:47:04 2277
安装anaconda3(文章附带安装包),安装完成后使用Jupyternotebook进行Python学习,安装的目录设为英文名,不然会报错打开后出现如下界面,此界面是连接界面,不可关闭,不然会出现连接错误:同时自动弹出浏览器界面:点击右上角new按钮添加Python3界面进入代码编辑界面:如果出现错误:creatingnotebookfailederrer界面,可以考虑下换一下默认浏览器,本人从火狐换到win10的MicrosoftEdge就解决了卸载的
系统 2019-09-27 17:46:59 2277
本文实例展示了PythonTkinter实现简单布局的方法,示例中备有较为详尽的注释,便于读者理解。分享给大家供大家参考之用。具体如下:#-*-coding:utf-8-*-fromTkinterimport*root=Tk()#80x80代表了初始化时主窗口的大小,0,0代表了初始化时窗口所在的位置root.geometry('80x80+10+10')#填充方向'''Label(root,text='l1',bg='red').pack(fill=Y)
系统 2019-09-27 17:45:34 2277
之前在公司做一个项目,项目需求是按照标签分类,去不同网站上爬取文章的内容,标题等。然后我就一个网站一个网站的去配xpath,可是网站特别多的时候,领导就会对我提出一个需求能不能,写一种程序然后用来解析所有的网站,也就是智能化解析。这对我一个刚刚做爬虫不久的新手就是很头疼了。于是各种网上找资料,于是发现了DIFFBOT这个东西。官网https://www.diffbot.com,注册后会有15天的免费使用的时间。注册后会发邮件给你一个token,通过toke
系统 2019-09-27 17:57:24 2276
今天是中秋节,首先在这里祝大家中秋快乐!那么提到中秋,我们首先想到的当然是香甜的月饼,所以我今天就在这里画一个月饼送给大家。那么要用Python画图,我们必须掌握并运用Turtle库,这个可以自己到网上搜,也可以直接点击下面的链接,里面详细介绍了Turtle库的函数,并且附带有一些简单图形的画法。我在画月饼的时候这个也是给了我很大的帮助。https://blog.csdn.net/zengxiantao1994/article/details/765885
系统 2019-09-27 17:57:01 2276
使用Django做web开发的时候遇到了这样一个问题,我想创建一个分支线程定时爬去某网站的信息,首先我就想到了使用单例模式,但是Python的单例模式并不像java那样一个static就完事了,需要使用不同的机制来实现,在网上找了几篇博客弄明白大概怎么回事,在这里跟大家分享一下我的理解:首先,因为只有继承了object的类才能定义__new__方法,所以我们要创建一个类,并且让它继承于object,这样我们就可以对其__new__方法进行定义了。class
系统 2019-09-27 17:56:26 2276
Burp提供了一系列的api,可以用于开发自己的插件。api的文档可以直接在burp的扩展处查看插件入口:IBurpExtender+IBurpExtenderCallbacks辅助功能:IExtensionHelpers消息接口:IHttpRequestResponse,IRequestInfo,IResponseInfo等等组件接口:Intruder相关和Scanner相关UI接口:ITab,IContextMenuFactoryjava的swing图
系统 2019-09-27 17:53:23 2276
前天不小心把硬盘格式化了,丢了好多照片,后来用Recuva这款软件成功把文件恢复过来,可是恢复的文件中有好多重复的文件和无法打开的图片,所以写了两个python的小程序用来解决这个问题删除相同文件:#coding=utf-8importosimportos.pathimportImageimporthashlibdefget_md5(filename):m=hashlib.md5()mfile=open(filename,"rb")m.update(mfi
系统 2019-09-27 17:50:48 2276
通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为生成器(Generator)。简单生成器
系统 2019-09-27 17:50:14 2276
result=[]defget_all(path):#递归获取指定目录下所有文件的绝对路径(非目录)dir_list=os.listdir(path)foriindir_list:sub_dir=os.path.join(path,i)ifos.path.isdir(sub_dir):get_all(sub_dir)else:#此时sub_dir是文件的绝对路径result.append(sub_dir)get_all(r'E:\bigdata')E:\b
系统 2019-09-27 17:49:36 2276