用Python3编写Web程序

Python也能写web应用???是的你没听错,但是本文并不是教你写 "web应用" 而是教你如何编写基于Python服务器端的程序。废话不多少让我们赶紧开始!

介绍 & 安装

首先现附上webpy的网址

WebPy官网:http://webpy.org

官方给出Python支持的版本

Python2.7,Python > 3.5

安装步骤,先从官网下载软件包,然后拖到你喜欢的目录,如:C:\Windows\System32\

然后运行以下命令

# For Python 2.7
pip2 install web.py==0.40

# For Python 3
python3 -m pip install web.py==0.40

作者的github可以去Stttttttar一下:https://github.com/webpy/webpy/releases
当然如果要卸载的话运行以下命令
unzip webpy-0.40.zip
cd webpy-0.40/
python3 setup.py

小牛试刀

首先我们创建一个工作目录,然后创建两个文件(index.html跟server.py)

先对server.py做出一点处理,首先我们先导入web模块

import web

根据官方文档说明,我们要告知web模块url类型,也就是要构造一个url

urls = (
  '/', 'index'
)

第一部分是一个正则表达式匹配的URL,如/,/index/hello,/item/(\d+),等(即\d+将匹配的数字序列)。括号表示捕获匹配的数据,以备后用。第二部分是一类的名称,以将请求发送到,例如index,view,welcomes.hello(其中获取hello类的welcomes模块),或get_\1。\1替换为您的正则表达式的第一个捕获;任何剩余的捕获都将传递给您的函数。 这一行说,我们希望URL /(即首页)由名为的类处理index。

然后我们要对服务端进行请求模拟

class index:
   def GET(self):
   return "Hello PyWeb!"

当有人用GET请求/时,这个GET函数随时会被web.py调用。

好了,限制我们只需要最后一句就写完了。这行会告诉web.py开始提供web页面:

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

如果一切顺利的话我们将以上代码整合在一起得出以下代码

import web #导入模块
urls = (
'/', 'index'
)
class index:
def GET(self):
web.header('Content-Type', 'text/html;charset=UTF-8');
web.header('Server','Python3/Server');
web.header('Coodie','NMSL')
return open(r'index.html','r').read()
return "<h1>你好!</h1>"
if __name__ == "__main__":
app = web.application(urls, globals())
app.run()

这时候我们返回index.html在里边写上你的html页面。之后运行server.py即可开启python服务。

Tips:更换端口只需在程序后面加上端口号即可 如:server.py 23333

发布了16 篇原创文章 · 获赞 9 · 访问量 6567

猜你喜欢

转载自blog.csdn.net/weixin_42608762/article/details/103442997
今日推荐