当前位置: 首页 > 工具软件 > zhihu-py3 > 使用案例 >

Python使用webpy制作简单的WEB服务器,支持数据库的增删改查,文件上传等功能

呼延沈义
2023-12-01

Python使用webpy制作简单的WEB服务器,支持数据库的增删改查,文件上传等功能

import web,json,sys

urls=(
    '(/|/index.html)','index',
    '/wyw/dbQuery','dbQuery',
    '/wyw/upload', 'upload',
    '/(.*?)','normal'
)
#获取第二个参数为数据库名称(第一个参数为服务器端口号)
dbname=sys.argv[2] 
if dbname=="": dbname="guangdiu"

db=web.database(dbn='mysql',host="localhost",port=3306,db=dbname,user='root',pw="admin")

#上传文件
class upload:
    def POST(self):
        x = web.input(myfile={})
        f=open('static/upload/'+x['myfile'].filename,'wb')
        f.write(x['myfile'].value)
        return json.dumps({"state":"OK"})
#一般文件获取
class normal:
    def GET(self,arg1):
        f=open('static/'+arg1,'rb')
        return f.read() 
#首页获取
class index:
    def GET(self,arg1):
        f=open('static/index.html','rb')
        return f.read()
#数据库查询、添加、修改、删除,通常数据库操作都使用这个
class dbQuery:
    def GET(self):
        data=web.input()
        try:
            if(data.sql.find('select')==0):
                results=db.query(data.sql)
                lis=[]
                for item in results: lis.append(item)
                return json.dumps({"msg":"success","rows":lis})
            else:
                return json.dumps({"msg":"success","rows":db.query(data.sql)})
        except Exception as e:
            return json.dumps({"msg":str(e)})

if __name__=="__main__":
    app=web.application(urls,globals())  
    app.run()

使用方法 python webserver.py 8080 dbname

 类似资料: