废话不多说,直接上代码Python2.7#!/usr/bin/envpython2.7#-*-coding=utf-8-*-importsmtplibfromemail.mime.textimportMIMEText_user="648613081@qq.com"_pwd="这里改成你的授权码"_to="648613081@qq.com"msg=MIMEText("thisisaemailfrompython,hahaha...")msg["Subject
系统 2019-09-27 17:48:28 2119
最近敲代码的时候主要遇到两大问题,第一个是构造自己包的时候找不到package。构造自己package谈两条经验,有助于解决这个问题。1自己构造包的名称尽量不要和Python自带的包重名,起的名字个性化一点。要不然出的bug都不知道错在哪2只要打算把这个文件夹当成一个包,就一定要在这个文件夹同一目录下新建一个__init__.py文件(内容可以为空)一般来说注意这两点,构建包就不成问题。在包的文件夹里面的.py文件称之为模块(文件名就是模块名),当然包里也
系统 2019-09-27 17:48:06 2119
在python中有一些有意思的内置函数,例如map()、filter()、reduce()函数,总结一下加深理解。lambda关键字map函数filter函数sorted函数zip函数以上四种函数均返回的是对象,需在外面加list并print才能显示一、lambda表达式:匿名函数原文地址:https://www.cnblogs.com/hf8051/p/8085424.htmllambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下
系统 2019-09-27 17:47:48 2119
还是分析一下大体的流程:首先还是Chrome浏览器抓包分析元素,这是网址:https://www.douyu.com/directory/all发现所有房间的信息都是保存在一个无序列表中的li中,所以我们可以先获取一个装有li的element对象的列表,然后在对每个element逐一操作分析斗鱼的翻页,有一个下一页按钮,是个li,class="dy-Pagination-item-custom",但是当烦到最后一页的时候,class="dy-Paginat
系统 2019-09-27 17:47:21 2119
方法update用于对一个字典进行更新。在调用update时,可向它提供一个映射、一个由键-值对组成的序列(或其他可迭代对象)或关键字参数。映射>>>d={...'title':'PythonWebSite',...'url':'http://www.python.org'...}>>>x={'title':'PythonLanguageWebsite'}>>>d.update(x)>>>d{'url':'http://www.python.org','t
系统 2019-09-27 17:47:20 2119
1.到底什么是Python?你可以在回答中与其他技术进行对比下面是一些关键点:Python是一种解释型语言。这就是说,与C语言和C的衍生语言不同,Python代码在运行之前不需要编译。其他解释型语言还包括PHP和Ruby。Python是动态类型语言,指的是你在声明变量时,不需要说明变量的类型。你可以直接编写类似x=111和x="I'mastring"这样的代码,程序不会报错。Python非常适合面向对象的编程(OOP),因为它支持通过组合(composit
系统 2019-09-27 17:47:20 2119
序列化(Serialization)是将对象的信息转换为可以存储或传输的形式,后续还可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。在python中也可以进行序列化相关的操作,只是序列化的时候需要将对象保存为一个字典的类型。对于Python内置的数据类型(如str,unicode,int,float,bool,None,list,tuple,dict),可以直接进行序列化/反序列化处理;对于自定义类的对象进行序列化和反序列化时,需要我们自己定义
系统 2019-09-27 17:47:18 2119
多线程类似于同时执行多个不同程序,多线程运行有如下优点:使用线程可以把占据长时间的程序中的任务放到后台去处理。用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度。程序的运行速度可能加快。在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须
系统 2019-09-27 17:46:37 2119
truncate()方法截断该文件的大小。如果可选的尺寸参数存在,该文件被截断(最多)的大小。大小默认为当前位置。当前文件位置不改变。注意,如果一个指定的大小超过了文件的当前大小,其结果是依赖于平台。注意:此方法不会在当文件工作在只读模式打开。语法以下是truncate()方法的语法:fileObject.truncate([size])参数size--如果可选参数存在,文件被截断(最多)的大小。返回值此方法不返回任何值。例子下面的例子显示truncate
系统 2019-09-27 17:46:23 2119
本节内容paramiko模块(基于SSH用于连接远程服务器并执行相关操作)paramiko模块SSHClient用于连接远程服务器并执行基本命令基于用户名密码连接#Author:yyqianimportparamiko#创建SSH对象ssh=paramiko.SSHClient()#允许连接不在know_hosts文件中的主机ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#连接服务器ssh
系统 2019-09-27 17:46:15 2119