使用python一步一步搭建微信公众平台(一)
最近无聊,想玩玩微信的公众平台,后来发现乐趣无穷啊~
使用的工具,python 新浪SAE平台,微信的公众平台
你需要先在微信的公众平台与新浪SAE平台上各种注册,微信平台注册的时候需要你拍张手持身份证的照片,还有几天的审核期
微信公众平台:http://mp.weixin.qq.com
最近无聊,想玩玩微信的公众平台,后来发现乐趣无穷啊~
使用的工具,python 新浪SAE平台,微信的公众平台
你需要先在微信的公众平台与新浪SAE平台上各种注册,微信平台注册的时候需要你拍张手持身份证的照片,还有几天的审核期
微信公众平台:http://mp.weixin.qq.com
利用python的smtplib,发邮件将是一件非常简单的事情,下文以用163邮箱来发邮件为例,说明smtplib的应用
#coding:utf-8
import smtplib
def sendMail(mail_to):
mail_server = 'smtp.163.com'
mail_port = '25'
username = 'soar_1987@163.com'
password = 'XXXXXXXX'
mail_title = 'python Test'
mail_content = 'This is a test from python for sending email'
if type(mail_to) == str:#之所以要有这样的判断是为了收件人是多个人或者传入的的收件人列表是以list的方式
mail_list = mail_to.split(';') #将str类型的数据转换为list
elif type(mail_to) == list:
mail_list = mail_to
else:
print "你输入的收件人格式有误"
try:
handle = smtplib.SMTP(mail_server,mail_port)
handle.login(username,password)
msg = "From:%srn To:%srnContent-Type: text/html;charset=gb2312rnSubject:%srnrn %s"%("杨彦星",";".join(mail_list),mail_title,mail_content) #这里的msg其实就是一种固定的格式,From:To:Subject
handle.sendmail(username,mail_list,msg)
print "Send email sucess"
except Exception,e:
print "Send email failed because %s" % e
if __name__ =="__main__":
sendMail('yanxingyang@gmail.com')
可爱的python一书中有一个练习题,是在一个目录中查找特定扩展名的文件,并且读取里面的内容,然后用户输入一个关键词,在这些文件中进行搜索,如果找到后就把这一行内容打印出来,他提出的问题是如果里面还有目录,目录里面还有更深的目录,解决这个问题,我想到的只能是递归。。。
#coding:utf-8
import os,sys
def cdGrep(keyword,filepath):
filelist = os.listdir(filepath)
for cdc in filelist:
if os.path.isdir(cdc):
filepath2 = os.path.join(filepath,cdc)
cdGrep(keyword,filepath2)
elif '.txt' in cdc:
# print filepath+cdc
f = open(filepath+''+ cdc)
for line in f.readlines():
linelower = line.lower()
if keyword in linelower:
print '您查找的关键词在%s中找到'% (filepath+''+cdc)
print line
f.close()
if __name__ == '__main__':
keword = raw_input('请输入想要查询的关键字')
pw = os.getcwd()
cdGrep(keword,pw)
小脚本很简单,主要是练习一下正则匹配,与简单的urllib库的应用
#coding: utf8
import urllib,re
import os
def getLastinstall():
page = urllib.urlopen(r'http://sd.360.cn/download_center.html')
html = page.read()
page.close()
rematch = r'http://down.360.cn/360sd/360sd_se_(.*?)exe'
replusmatch = r'http://down.360.cn/360sd/360sd_plus_(.*?)exe'
stdname = '360sd_'+(str(re.compile(rematch).findall(html)[0]))+'exe'
downurlstd = r'http://down.360.cn/360sd/360sd_'+(str(re.compile(rematch).findall(html)[0]))+'exe'
powname = '360sd_plus_'+(str(re.compile(replusmatch).findall(html)[0]))+'exe'
downurlpow = r'http://down.360.cn/360sd/360sd_plus_'+(str(re.compile(replusmatch).findall(html)[0]))+'exe'
localpath = os.getcwd()+r'/installpack'
if not (os.path.isfile(stdname) and os.path.isfile(powname)):
if not os.path.isdir('installpack'):
os.makedirs('installpack')
urllib.urlretrieve(downurlstd,localpath+'/'+stdname)
urllib.urlretrieve(downurlpow,localpath+'/'+powname)
else:
print '目录中已经是线上最新版杀毒安装程序'
if __name__ =='__main__':
getLastinstall()
原文地址:http://blog.csdn.net/qinyilang/article/details/5484415
**过量的参数
**在运行时知道一个函数有什么参数,通常是不可能的。另一个情况是一个函数能操作很多对象。更有甚者,调用自身的函数变成一种api提供给可用的应用。
对于这些情况,python提供了两种特别的方法来定义函数的参数,允许函数接受过量的参数,不用显式声明参数。这些“额外”的参数下一步再解释。
注意args和kwargs只是python的约定。任何函数参数,你可以自己喜欢的方式命名,但是最好和python标准的惯用法一致,以便你的代码,其他的程序员也能轻松读懂。 ** 位置参数**
在参数名之前使用一个星号,就是让函数接受任意多的位置参数。
>>> def multiply(*args):
... total = 1
... for arg in args:
... total *= arg
... return total
...
>>> multiply(2, 3)
6
>>> multiply(2, 3, 4, 5, 6)
720
早上匆匆忙忙的上了拥挤的公交,其实后面还有更拥挤的地铁,麻木的内心其实早已习惯这种乱哄哄的狭小空间,打开手机,习惯性的打开阅读软件,浏览着早已下载好的离线新闻,公交每到一站,任凭司机撕心裂肺的倡导,能动则随着人流动,不能动就当什么都没有听到,当有乘客在拥挤的车厢内挤来挤去,有意无意的一些身体接触摩擦过后,一股想骂人的冲动只因为在转头都困难的环境下就忍了吧。
怎知每天这时都会有很多老年人来凑热闹,我有时真是由衷的佩服他们,满头白发,却还做着有些年轻人都不想做但不得不做的事情,挤来挤去的,也有不开眼的在座位上的乘客,依然玩着自己的手机或者补着晚上还没有做完的梦,于是老年人在还可以移动的情况下会继续寻找属于自己的“专座”。
而今天我放下了手机,不再看那些用数据堆起来的专题。只因两位特别的老人。
一个小功能,我就是想用print功能实现,不想用write
import os
os.chdir("/usr/tem")
char="my name is yangyanxing"
f = open("test.txt","w")
print >>f,char
但是Python3中还可以用以下的方式
import os
os.chdir("/usr/tem")
char="my name is yangyanxing"
f = open("test.txt","w")
print(char,file=f)
新浪SAE 为用户提供storage服务,来永久性存储文件,这很好的为用户提供图片等文件存储服务,以下通过方法来建立一个自己的图床
需求:上传一张照片,返回这张照片的地址
实现 http://kevinkelin.sinaapp.com/fileupload.php
首先在SAE上建立一个storage 的domain,(其实再之前你需要有一个应用,这里不写了)
本文用了一个很通俗的例子还一步步的让读者理解Python中的装饰器的概念
原文地址:http://www.cnblogs.com/huxi/archive/2011/03/01/1967600.html
今天来讨论一下装饰器。装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理等。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。
相信很多在北京工业大学的童鞋都知道内网有很多资源,但是由于学校内的网络是按流量收费的,所以对于外网拥有的更多好资源有时只能另想办法,于是很多宿舍开始办理201宽带,但是最快的网速也不及内网10M/s下载爽,于是我在网上找了一些方法,结合北工大的网络环境,写了一个批处理文件来解决同时访问内网与外网的方法
1.网络现状:有线接内网,无线接ADSL宽带。
2.首先查看自己内网与ADSL的IP与网关
内网 IP 172.27.28.96 网关 172.27.28.254
ADSL IP 192.168.1.105 网关 192.168.1.1
3. 再建一个txt文档,输入以下信息,重新保存为.bat文件,