Python学习笔记-第五天

** send mail**
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import smtplib
from email.mime.text import MIMEText
_user = "[email protected]"
_pwd = "你的授权码"
_to = "[email protected]"

msg = MIMEText("Test")
msg["Subject"] = "don't panic"
msg["From"] = _user
msg["To"] = _to

try:
    s = smtplib.SMTP_SSL("smtp.qq.com", 465)
    s.login(_user, _pwd)
    s.sendmail(_user, _to, msg.as_string())
    s.quit()
    print "Success!"
except smtplib.SMTPException, e:
    print "Falied,%s" % e
** database **
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import MySQLdb as mysqldb

# 打开数据库连接
db = mysqldb.connect(host='localhost', user='root', passwd='root',
                     db='test')

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# 使用execute方法执行SQL语句
cursor.execute("SELECT * from test")

# 使用 fetchone() 方法获取一条数据库。
one_data = cursor.fetchone()
print one_data
data = cursor.fetchall()
print data

# 关闭数据库连接
db.close()
** json **
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import json

# json.dumps    将 Python 对象编码成 JSON 字符串
# json.loads    将已编码的 JSON 字符串解码为 Python 对象

# json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True,
# allow_nan=True, cls=None, indent=None, separators=None,
# encoding="utf-8", default=None, sort_keys=False, **kw)
data = {'name': 'chenwenbo', 'age': 10}
json.dumps(data)
** file **
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import codecs

# 打开文件
f = open('/Users/apple/code/python/io/demo.txt', 'r')
str = f.read()
# 关闭文件,避免占用资源
f.close()


# 更优雅的写法,使用完后自动释放资源
with open('/Users/apple/code/python/io/demo.txt', 'r') as f:
    print f.read()

with open('/Users/apple/code/python/io/demo.txt', 'r') as f:
    # 一行一行读
    for line in f.readlines():
        # strip 去掉末尾的 \n
        print line.strip()

# 读取图片
# with open('/Users/apple/code/python/io/aaa.jpg', 'rb') as f:
    # print f.read()

# 如果读取非unicode类型的文件,需要先以二进制的形式读取后,再转码
# with open('/Users/apple/code/python/io/aaa.txt', 'rb') as f:
    # print f.read().decode('gbk')
# 或者利用codecs模块处理
# with codecs.open('/Users/apple/code/python/io/aaa.txt', 'r', 'gbk') as f:
    # print f.read()

# 写文件 覆盖
with open('/Users/apple/code/python/io/demo01.txt', 'w') as f:
    f.write('chen')
# 写文件 追加
with open('/Users/apple/code/python/io/demo01.txt', 'a') as f:
    f.write('wen bo')
** dir **
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os

print os.name
print os.uname()

# 当前目录绝对路径
print os.path.abspath('.')
# 在某个目录下创建新目录 join拼接可以避免不同操作系统的路径表示
new_dir = os.path.join('/Users/apple/code/python/io/', 'test')
os.mkdir(new_dir)
os.rmdir(new_dir)

# 拆分目录和文件
print os.path.split('/Users/apple/code/python/io/demo.txt')

# 拆分文件和拓展名
print os.path.splitext('/Users/apple/code/python/io/demo.txt')

# 文件重命名
# os.rename('/Users/apple/code/python/io/demo.txt',
#   'demo11.txt')

# 复制文件,os中没有提供, shutil模块提供了copyfile()函数可以进行处理

# 列出当前目录下所有目录
print [x for x in os.listdir('.') if os.path.isdir(x)]

# 列出当前目录下所有py文件
print [x for x in os.listdir('.') if os.path.splitext(x)[1] == '.py']

# Python的os模块封装了操作系统的目录和文件操作,要注意这些函数有的在os模块中,有的在os.path模块中。
** 微信机器人 **
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import itchat
import requests
import json


# 图灵机器人
def talks_robot(info='你叫什么名字'):
    api_url = 'http://www.tuling123.com/openapi/api'
    apikey = 'apikey'
    data = {'key': apikey,
            'info': info}
    req = requests.post(api_url, data=data).text
    replys = json.loads(req)['text']
    return replys


@itchat.msg_register(itchat.content.TEXT)
def text_reply(msg):
    return talks_robot(msg['Text'])

itchat.auto_login()
itchat.run()

你可能感兴趣的:(Python学习笔记-第五天)