Python 工具包
吴心役
2022-12-04
WSGI
需要运行 api.py 文件,启动一个服务器,然后监听请求。
api.py 文件
from wsgiref.simple_server import make_server
def application(environ, star_response):
    response_headers = [ #设置响应头
        ('Content-Type', 'application/json;charset=urf-8'),
        ('Access-Control-Allow-Origin', '*'), #允许跨域
        ('Access-Control-Allow-Methods', 'GET'),
        ('Access-Control-Allow-Headers', 'x-requested-with,content-type'),
    ]
    status = '200 OK' #响应码
    star_response(status, response_headers)
    return [b'{hello WSGI!!!}']
if __name__ == "__main__":
    url = "127.0.0.1" #设置服务器地址
    port = 8081 #设置服务器端口
    #设置服务器,并监听 http://127.0.0.1:8081 地址,application 为应答函数
    httpd = make_server(url, port, application)
    print('启动服务器')
    httpd.serve_forever()#启动服务器
HTML 文件
<button onClick="get()">请求数据</button>    
<script>
    function get(){
    var xmlhttp=new XMLHttpRequest()
	xmlhttp.onreadystatechange=function(){
	    if(xmlhttp.readyState==4 && xmlhttp.status==200){
		    console.log(xmlhttp.response)
		}
	}
	xmlhttp.open("GET", "http://127.0.0.1:8081")
	xmlhttp.setRequestHeader("content-type","application/json;charset=UTF-8")
	xmlhttp.send()
}
</script>
Flask
环境:window + Python3.X
- 
创建虚拟环境
创建
myflask文件夹,在此文件夹下安装虚拟环境。mkdir myflaskcd myflaskpy -3 -m venv venvvenv\Scripts\activate:激活虚拟环境。 - 
安装 Flask:
pip install Flask。 - 
安装 flask-cors 解决浏览器跨域问题:
pip install flask-cors - 
在
mlflask目录下创建api.py文件,作为响应文件from flask import Flask from flask import jsonify from flask_cors import * #解决跨域问题 app = Flask(__name__) CORS(app, resources=r'/*') #解决跨越问题 @app.route('/api') #监听 /api 路由 def login(): print("监听响应 /login 路由") return jsonify({ "age": 20, "name": "aioverg", }) - 
运行
api.py文件set FLASK_APP=api.py #设置文件 set FLASK_ENV=develpoment #设置文件变动时服务器自动重启 flask run #启动服务器,默认的地址是:http://127.0.0.1:5000 - 
创建
web.html 文件发起请求<button onClick="get()">请求数据</button> <script> function get(){ var xmlhttp=new XMLHttpRequest() xmlhttp.onreadystatechange=function(){ if(xmlhttp.readyState==4 && xmlhttp.status==200){ console.log(xmlhttp.response) } } xmlhttp.open("GET", "http://127.0.0.1:5000/login") xmlhttp.setRequestHeader("content-type","application/json;charset=UTF-8") xmlhttp.send() } </script> 
PyMySQL
连接本地数据库 ex,用户名 root ,密码 123456 ,数据库中有一个名为 people 的数据表。
#引入 pymysql
import pymysql
#连接数据库
db = pymysql.connect("localhost", "root", "123456", "ex")
#查看是否连接,返回 True 则连接正常。
db.open
#创建一个 cursor 游标
cursor = db.cursor()
#SQL 查询语句
sqlCom = "SELECT * FROM people"
#执行查询语句
cursor.execute(sqlCom)
#获取所有行
results = cursor.fetchall()
#打印 people 表中的内容
for row in results: 
    print(row)
#向 people 表中插入内容
sql = "INSERT INTO people (id, name) VALUES (3, 'bob')"
#将改动提交到数据库,报错的话回滚
try:
   # 执行SQL语句
   cursor.execute(sql)
   # 向数据库提交
   db.commit()
except:
   # 发生错误时回滚
   db.rollback()
#关闭数据库连接
db.close()
常用API:
- 
connet(args):连接数据库,并返回连接对象。参数:
host:数据库服务器所在的地址。user:数据库用户名。password:数据库密码。database:要连接的数据库名。其他:略
 - 
open:数据库是否连接,返回布尔值。 - 
close():关闭数据库连接。 - 
cursor(args):创建一个操作游标,默认使用Cursor。 - 
commit():提交到数据库操作,即更改数据库时需要使用这个方法。 - 
rollback():事务回滚。 
参数是 Cursor  的游标对象的方法:
close():关闭当前游标。execute(args):提交 SQL 语句。fetchall():获取所有行。fetchmany(num):获取指定行。fetchone():获取一行。
