Python

Python实现发送email的几种常用方法

学过Python的人都知道,实用Python实现发送email的功能还是比较简单的,可以通过登录邮件服务来发送,linux下也可以使用调用sendmail命令来发送,还可以使用本地或者是远程的smtp服务来发送邮件,不管是单个,群发,还是抄送都比较容易实现。本文就把几个最简单的发送邮件方式记录下来,像html邮件,附件等也是支持的,读者在需要时可以参考查询一下。具体方法如下:1.登录邮件服务具体代码如下:#!/usr/bin/envpython#-*-co

系统 2019-09-27 17:47:47 2297

Python

Python对象的深拷贝和浅拷贝详解

本文内容是在《Python核心编程2》上看到的,感觉很有用便写出来,给大家参考参考!浅拷贝首先我们使用两种方式来拷贝对象,一种是切片,另外一种是工厂方法。然后使用id函数来看看它们的标示符复制代码代码如下:#encoding=UTF-8obj=['name',['age',18]]a=obj[:]b=list(obj)forxinobj,a,b:printid(x)352170323522791229943304他们的id都不同,按照正常的判断,三个不同i

系统 2019-09-27 17:46:12 2297

Python

树莓派采用socket方式文件传输(python)

两个树莓派,在同一个局域网内,传输文件,采用socket方式。client端代码:importsocketimportosimporthashlibclient=socket.socket()#生成socket,连接serverip_port=("192.168.137.210",12346)#server地址和端口号(最好是10000以后)client.connect(ip_port)#连接print("服务器已连接")whileTrue:content

系统 2019-09-27 17:45:47 2297

Python

12个Python程序员面试必备问题与答案(小结)

1.什么是pickling和unpickling?Pickle模块读入任何Python对象,将它们转换成字符串,然后使用dump函数将其转储到一个文件中――这个过程叫做pickling。反之从存储的字符串文件中提取原始Python对象的过程,叫做unpickling。2.什么是Python的命名空间?在Python中,所有的名字都存在于一个空间中,它们在该空间中存在和被操作――这就是命名空间。它就好像一个盒子,每一个变量名字都对应装着一个对象。当查询变量的

系统 2019-09-27 17:57:19 2296

Python

如何使用Python实现自动化水军评论

前言玩博客一个多月了,渐渐发现了一些有意思的事,经常会有人用同样的评论到处刷,不知道是为了加没什么用的积分,还是纯粹为了表达楼主好人。那么问题来了,这种无聊的事情当然最好能够自动化咯,自己也来试了一把,纯属娱乐。登陆要评论当然要能够先进行登陆,采用库进行处理,尝试能否看到自己的消息列表:结果跳转到登陆界面,好的那看一下登陆界面是怎么登陆的,找到表单:发现还有一些隐藏的参数,如lt、excution等,好心的程序猿还写明了不能为什么不能直接认证的原因:缺少流

系统 2019-09-27 17:55:56 2296

Python

利用python计算windows全盘文件md5值的脚本

importhashlibimportosimporttimeimportconfigparserimportuuiddeftest_file_md5(file_path):test=hashlib.md5()ifos.path.isfile(file_path):withopen(file_path,"rb")asf:whileTrue:data=f.read(8096)ifnotdata:breakelse:test.update(data)ret=t

系统 2019-09-27 17:55:47 2296

Python

Python中元组,列表,字典的区别

Python中,有3种内建的数据结构:列表、元组和字典。1.列表list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目。列表中的项目。列表中的项目应该包括在方括号中,这样python就知道你是在指明一个列表。一旦你创建了一个列表,你就可以添加,删除,或者是搜索列表中的项目。由于你可以增加或删除项目,我们说列表是可变的数据类型,即这种类型是可以被改变的,并且列表是可以嵌套的。实例:#coding=utf-8animalslist=['f

系统 2019-09-27 17:55:30 2296

Python

Python pickle类库介绍(对象序列化和反序列化)

一、picklepickle模块用来实现python对象的序列化和反序列化。通常地pickle将python对象序列化为二进制流或文件。python对象与文件之间的序列化和反序列化:复制代码代码如下:pickle.dump()pickle.load()如果要实现python对象和字符串间的序列化和反序列化,则使用:复制代码代码如下:pickle.dumps()pickle.loads()可以被序列化的类型有:*None,True和False;*整数,浮点数

系统 2019-09-27 17:54:14 2296

Python

Python列表append和+的区别浅析

在python中使用列表的时候大家经常会需要向一个列表中添加一个元素,像下面这两种使用方法需要注意:复制代码代码如下:t=[1,2,3]t1=t.append([4])t2=t+[4]以上两种使用方式是有区别的,我们来看看实际运行的效果:复制代码代码如下:>>>t=[1,2,3]>>>t1=t.append([4])>>>t[1,2,3,[4]]>>>t1>>>>>>t2=t+[4]>>>t2[1,2,3,[4],4]>>>t[1,2,3,[4]]可以看到

系统 2019-09-27 17:52:37 2296

Python

Python continue继续循环用法总结

Python之continue继续循环在循环过程中,可以用break退出当前循环,还可以用continue跳过后续循环代码,继续下一次循环。假设我们已经写好了利用for循环计算平均分的代码:L=[75,98,59,81,66,43,69,85]sum=0.0n=0forxinL:sum=sum+xn=n+1printsum/n现在老师只想统计及格分数的平均分,就要把x<60的分数剔除掉,这时,利用continue,可以做到当x<60的时候,不继续执行循环体

系统 2019-09-27 17:51:00 2296

Python

如何创建并运行您的第一个Python项目

您正在使用PyCharm,那么该如何创建并运行您的第一个Python项目?在你开始之前#确保满足以下先决条件:您正在使用PyCharmCE或Professional。您已经安装了Python本身。如果您使用的是macOS或Linux,那么您的计算机已经安装了Python。你可以从python.org获得Python。选择解释器#选择用于项目的解释器是一个重要的决定。Python是一种脚本语言,这意味着您的代码将由Python解释器转换为机器代码。您可以在计

系统 2019-09-27 17:50:07 2296

Python

Python写的PHPMyAdmin暴力破解工具代码

PHPMyAdmin暴力破解,加上CVE-2012-2122MySQLAuthenticationBypassVulnerability漏洞利用。#!/usr/bin/envpythonimporturllibimporturllib2importcookielibimportsysimportsubprocessdefCrack(url,username,password):opener=urllib2.build_opener(urllib2.HTTP

系统 2019-09-27 17:46:58 2296

Python

Python函数式编程指南(四):生成器详解

4.生成器(generator)4.1.生成器简介首先请确信,生成器就是一种迭代器。生成器拥有next方法并且行为与迭代器完全相同,这意味着生成器也可以用于Python的for循环中。另外,对于生成器的特殊语法支持使得编写一个生成器比自定义一个常规的迭代器要简单不少,所以生成器也是最常用到的特性之一。从Python2.5开始,[PEP342:通过增强生成器实现协同程序]的实现为生成器加入了更多的特性,这意味着生成器还可以完成更多的工作。这部分我们会在稍后的

系统 2019-09-27 17:45:28 2296

Python

用python实现堆排序

用python实现堆排序一、概念堆排序,顾名思义,就是基于堆。因此先来介绍一下堆的概念。堆分为最大堆和最小堆,其实就是完全二叉树。最大堆要求节点的元素都要大于其孩子,最小堆要求节点元素都小于其左右孩子,两者对左右孩子的大小关系不做任何要求,其实很好理解。有了上面的定义,我们可以得知,处于最大堆的根节点的元素一定是这个堆中的最大值。其实我们的堆排序算法就是抓住了堆的这一特点,每次都取堆顶的元素,将其放在序列最后面,然后将剩余的元素重新调整为最大堆,依次类推,

系统 2019-09-27 17:32:54 2296