先导 首先隔了这么久才继续进行更新的原因是网站备案和毕业设计,加上刚入职没有时间去进行内容更新,以后会继续更新了 在pugjs中添加一些好用的东西这个系列会长期的添加更新,因为这些都是会用在博客当中的...内容介绍 这次添加的内容是在右边栏那里加上一个时钟,用来给阅读的人直观地看到时间,时钟的代码是直接从网上拷贝下来的,并且自己做了修改,地址是这里,打开这个链接就能看到一个时钟,此时检查页面元素定位到时钟所在的...div标签,其中有一个canvas标签,将其复制下来,并且找到下面与之最近的script标签查看到时钟的逻辑代码,也将其复制下来进行修改后就差不多可以使用了。...首先声明,代码是直接复制的,复制也没有删除,主要是为了学习用途,如果造成侵权或者修改了不应修改的地方,还请拿出版权证据证明后修改或者删除您的代码,自行复制后造成的一切问题与我无关 脚本代码 原脚本...下面是修改后用之前的网站进行转换成pugjs的脚本,懒一点的就直接复制下面代码吧 br div(style='position: relative;top: 0px;left: 0px;') canvas
MIMEText(message) msg.attach(body) msg['To'] = mail_to msg['from'] = mail_user msg['subject'] = 'this is a python
终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。 转义序列是以ESC开头,即用\033来完成(ESC的ASCII码用十进制表示是27,用八进制表示就是033)。...书写格式 \033[显示方式;前景色;背景色m + 需要显示的文字 + \033[0m 开头部分的三个参数:显示方式,前景色,背景色是可选参数,可以只写其中的某一个; 由于表示三个参数不同含义的数值都是唯一的没有重复的...,所以三个参数的书写先后顺序没有固定要求,系统都能识别,建议按照默认的格式规范书写。...数值表示的参数含义: 显示方式: 0(默认值)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、 5(闪烁)、25(非闪烁)、7(反显)、27(非反显)前景色: 30(黑色)、31(红色)、...),黄色背景 print("\033[1;31;40m您输入的帐号或密码错误!
Python处理datetime类型的问题 在存储时间类型到数据库的时候,通常使用DateTime类型。使用DateTime类型就会遇到时区timezone的问题。...为了能够处理timezone, 推荐存数据库的使用存入的是基于UTC的时间日期,在本地取用的时候在转成本地时间。 Python定义了抽象类tzinfo, 这个class不能直接使用。...还有一个问题就是如何得到本机的timezone。在time class里面可以得到一个time.timezone, 是一个基于秒的offset值。...注意这个time不是datetime.time, 就是time,用于os相关的时间信息。不是很好用,推荐tzlocal库。 安装pytz和tzlocal 使用pip安装就可以了。...pip install pytz pip install tzlocal 如何使用 得到当前时间,用于数据的存储 from datetime import datetime t = datetime.utcnow
from functools import wraps import logging
简单的header import urllib2 request = urllib2.Request('http://example.com/') request.add_header('User-Agent...', 'fake-client') response = urllib2.urlopen(request) print request.read() 包含较多元素的header import urllib
) print ‘\033[5;34;2m%s\033[0m’ % num
背景: 获取需要登录的页面,可在登陆后将获取到的cookie添加到请求的脚本中。...response = requests.get(url, cookies=cookies) print response.content.decode("utf-8") 这样就可以获取登陆后的网页源代码...如果要模拟的更真实点,加上user agent会更好些。...cookies=cookies,headers=my_headers) print response.content.decode("utf-8") 只要不被专门盯上,一般应该会被服务器当做正常访问来对待的。
利用 Python 原生的功能,创建一个二维的 list,变量名称为 x ,其 shape 为 (3,1) In [3]: x = [[3],[1],[4]]In [15]: xOut[15]: [[3...], [1], [4]] 现在我想把它扩展为 (3,4)的二维 list, 并且每列都为 [3, 1, 4],如下所示: Out[20]: [[3, 3, 3, 3], [1, 1, 1, 1], [4...接下来,分别比较它们各自的对应元素,如果 x[i][j] 的二维 list....,x , y 和 condition 需要是可广播的,并最终传播为某种 shape....之所以,从文章开头到后面大部分篇幅,都在使用 Python 原生的功能实现与 Numpy 同样的效果,就是为了更好的说明 Numpy 的传播机制。 通过对比,或许更容易明白 Numpy 的传播机制。
datesecon()[1].day) msg['Subject'] = Header(subject,'utf-8') hello=(""" HI ALL: 下表为SI及W+从{}.{}至{}.{}的运营问题汇总...十分抱歉在使用上所造成的影响。谢谢!...(open(outfile, 'rb').read(), 'base64','utf-8') att1["Content-Type"] = 'application/octet-stream' 这里的filename...filename) msg.attach(att1) 添加附件就是加上一个MIMEBase,从本地读取一个图片: with open('jietu.png', 'rb') as f: # 设置附件的MIME...和文件名,这里是png类型: mime = MIMEBase('image', 'png', filename='jietu.png') # 加上必要的头信息: mime.add_header('
from Tkinter import * def cross(value): text.insert(INSERT,'x') window =Tk(...
装饰器(无参) 它是一个函数; 函数作为它的形参; 返回值也是一个函数; 可以使用@functionname方式,简化调用; 装饰器和高阶函数 装饰器是高阶函数,但装饰器是对传入函数的功能的装饰...---文档字符串 python的文档 python是文档字符串Documentation Strings 在函数语句块的第一行,且习惯是多行的文本,所以多使用三引号; 惯例是首字母大写,第一行写概述...这就引出了我们的带参装饰器 import datetime import time def copy_properties(src): def wrapper(dst): dst...,带参装饰器; ---- 需求:获取函数的执行时长,对时长超过阈值的函数记录一下: import datetime import time def logger(t):# def logger(t1,...x, y): print("======call add======") time.sleep(5) return x + y print(add(4, y=5)) 装饰器(带参
# 背景 接入公司的一个数据统计平台,该平台的接口是带上了Authorization验证方式来保证验签计算安全 # 方法 其实很简单,就是在header中加入key=Authorization,value...是协商好的协议即可; 如,我们这边是base64.b64encode(uae_name + ":" + uae_passwd); 因此计算就是: # 计算uae的authorization def get_authorization
今天写了个脚本 主要就是实现利用SQLInj点直接把数据获取到本地并存到Mysql数据库中 学过Python的都知道可以使用urllib2中的request()方法直接打开Url,但仅限于url后没有跟复杂的参数串...今天我利用的Url是 http://xxx.com/xxx.aspx?...url="上面的URL" req=urllib2.Request(url) urllib2.urlopen(req) 可是执行后一直提示500错误,由此可以发现应该是Python在对Url进行编码的时候更改了某些特殊字符造成...Url失效 我们可以用urllib2或urllib的quote()方法控制对特殊字符的URL编码,这里推荐用 urllib下的quote_plus()方法,它将空格转化成'+'而非%20通用性更好。...我们更改后的代码如下: url = "http://xxx.com/xxx.aspx?
使用纯WebSocket或Server-Sent Events(EventSource)构建的信号服务的一个优点是,这些API的后端可以使用PHP、Python和Ruby等语言,可以在大多数常用的Web...每个TURN服务器都支持STUN:TURN服务器是内置了中继功能的STUN服务器。ICE还可以应对复杂的NAT设置,实际上,NAT打洞可能不仅仅需要共有IP和端口。...为了解决这个问题,WebRTC采用STUN技术。 STUN服务器位于公网上并且有一个简单的任务:检查传入请求的IP和端口地址(来自在NAT网络中运行的应用程序)并将该地址作为响应发回。...设备拿到这个地址把这个地址发送给需要建立直接联系的其他设备 STUN服务器对计算性能和存储要求都不太高,因此相对低规格的STUN服务器可以处理大量请求。...部署STUN和TURN服务器 为了进行测试,Google运行appr.tc使用的是公共STUN服务器stun.l.google.com:19302。
附件其实就是另一种格式的MIME,所以在构造邮件消息体的时候需要使用MIMEMultipart来构造复合类型的消息体,然后把文本和附件一个一个地加进去 举个例子吧。...嗯那个超链接的问题还是老样子,没解决 import smtplib from email.mime.text import MIMEText from email.mime.multipart import...message['From'] = Header(sender, 'utf-8') message['To'] = Header('邮件', 'utf-8') message['Subject'] = 'Python...SMTP 发送带附件的邮件' mail_msg = ''' 使用python发送邮件 这是一个超链接
我们用SIP 客户端呼叫的时候,经常遇到复杂的网络NAT环境,这个时候需要我们安装STUN Server / Turn Server 做穿透用。...这里简单记录下 STUN Server的安装启动步骤: yum -y install gcc yum -y install make yum -y install boost* # For Boost
From'] =_format_addr(from_addr) msg['To'] = _format_addr(to_addr) msg['Subject'] = Header(u'来自SMTP的问候...', 'plain', 'utf-8')) 添加附件就是加上一个MIMEBase,从本地读取一个图片: with open('jietu.png', 'rb') as f: # 设置附件的MIME和文件名...,这里是png类型: mime = MIMEBase('image', 'png', filename='jietu.png') # 加上必要的头信息: mime.add_header('Content-Disposition...filename='jietu.png') mime.add_header('Content-ID', '') mime.add_header('X-Attachment-Id', '0') # 把附件的内容读进来
python在定义函数的时候,不仅可以设置普通的形参:如 def fun(arr1, arr2 = '我是2号参数'): #arr1为必传参数,arr2可以不用 另外还可以传入两种特殊的参数...:带*或**的参数。...这两类形式的参数都可以传入任意数量的实参,它们的不同点主要在于*参数传入的为一个元祖(tuple);**参数出入的则为一个字典(dict)。...,age,job) 调用函数: mixFunc('abe', 'a',10,'c', work = '叫兽', ic_no = 1234) 结果: 姓名:abe 年龄:10 工作:叫兽 在调用函数时,python...的实参传递是按照顺序进行的,按照定义第一个参数'abe'会传给行参name,其后的三个参数传递给*args,最后两个则传递给了**kwargs。
领取专属 10元无门槛券
手把手带您无忧上云