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?
附件其实就是另一种格式的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发送邮件 这是一个超链接
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。
格式: 开头部分:\033[显示方式;前景色;背景色m + 结尾部分:\033[0m 注意:开头部分的三个参数:显示方式,前景色,背景色是可选参数,可以只写其中的某一个;另外由于表示三个参数不同含义的数值都是唯一的没有重复的...,所以三个参数的书写先后顺序没有固定要求,系统都能识别;但是,建议按照默认的格式规范书写。...| 反白显示 8 | 不可见 ------------------------------- (部分效果不能实现,有可能与版本有关) 数值表示的参数含义
使用带docker的服务器配置https需要两层web服务器 首先例如使用https://www.Se7eN_HOU.com进行首页访问,首先会先进入到主服务器里面,经过主服务器的Nginx Web服务器...这时主服务器的nginx就会监听80端口,收到这个请求 server { # 监听80端口 listen 80; # 监听的域名, server_name...端口,进过证书的配置选项后,在转到8888端口的docker中,而主服务器的8888端口对应docker中的80端口,这样经过一系列的转化,这个请求就到了我们docker中的80端口了,下面我们在docker...中的nginx中监听80端口,即可得到这个的请求 server { listen 80; # 因为这个内部的nginx80端口是通过主服务器nginx的127.0.0.0...# 导入uwsgi文件 include /usr/local/nginx/conf/uwsgi_params; # 使用uwsgi启动python
函数篇--装饰器二 带参数的装饰器 def outer(flag): def timer(func): def inner(*args,**kwargs):...if flag: print('''执行函数之前要做的''') re = func(*args,**kwargs) if...flag: print('''执行函数之后要做的''') return re return inner return timer...@outer(False) def func(): print(111) func() 带参数的装饰器 多个装饰器装饰同一个函数 有些时候,我们也会用到多个装饰器装饰同一个函数的情况。
领取专属 10元无门槛券
手把手带您无忧上云