标签:设置 with http open python 对象 rect 名称 ade
1 from tornado.web import Application,RequestHandler 2 from tornado.httpserver import HTTPServer 3 from tornado.ioloop import IOLoop 4 5 class IndexHandler(RequestHandler): 6 def get(self): 7 self.write(‘Hello World‘) 8 def post(self): 9 pass 10 11 app = Application(handlers=[(‘/‘,IndexHandler)]) 12 server = HTTPServer(app) 13 server.listen(8888) 14 IOLoop.current().start()
from tornado.options import define,parse_config_file,options
define(‘名称‘,type=int,default=8888)
parse_config_file(‘配置文件路径‘)
options.名称
app = Application(handlers=[(‘/(day[0-9]+)‘,IndexHandler),(‘/java/(day[0-9]+)/(input[0-9]+)‘,JavaHandler)]
def get(self, day,input): self.write(‘Hello Python‘)
self.get_query_argument(name, default=_ARG_DEFAULT, strip=True)
self.get_query_arguments(name, strip=True)
day = self.get_body_argument(‘day‘,default=‘0000000‘,strip=False) self.write(‘Hello Python‘+day) day = self.get_body_arguments(‘day‘,strip=False) print(day)
get_argument() #等同get_query_argument +get_body_argument
get_arguments() #同理
from tornado.web import Application,RequestHandler from tornado.httpserver import HTTPServer from tornado.ioloop import IOLoop from tornado.options import define,parse_config_file,options class IndexHandler(RequestHandler): def get(self): self.write(‘<a href=/java>Hello World go java</a>‘) self.write(‘<br><a href=/python>Hello World go python</a>‘) def post(self): pass
class JavaHandler(RequestHandler): def get(self,day=None,input=None): self.write(‘Hello Java‘) if day: self.write(‘Hello ‘+day) if input: self.write(‘Hello ‘+input) def post(self): pass class PythonHandler(RequestHandler): #覆盖RequestHandler get方法,响应get请求 def get(self): self.write(‘Hello Python‘) #GET获取参数 http://127.0.0.1:9999/python?day=111111111 day = self.get_query_argument(‘day‘,default=‘0000000‘,strip=False) self.write(‘Hello Python‘+day) #/python?day=1&day=2&day=3&day=4&day=5 day = self.get_query_arguments(‘day‘,strip=False) print(day)#[1,2,3,4,5] #覆盖RequestHandler post方法,响应post请求 def post(self): day = self.get_body_argument(‘day‘,default=‘0000000‘,strip=False) self.write(‘Hello Python‘+day) day = self.get_body_arguments(‘day‘,strip=False) print(day) define(‘port‘,type=int,default=8888) parse_config_file(‘config/config.txt‘) app = Application(handlers=[(‘/‘,IndexHandler), (‘/java‘,JavaHandler), (‘/java/([0-9]*)/([a-z0-9]*)‘,JavaHandler), (‘/python‘,PythonHandler)]) server = HTTPServer(app) server.listen(options.port) IOLoop.current().start()
self.redirect(‘/python?day=1‘)
#结构示例
self.request.files={‘input_name1‘:[{‘content_type‘:‘image/jpeg‘, #文件类型 ‘body‘:b‘\....‘, #文件二进制内容 ‘filename‘:‘文件1名‘ #原文件名 },{文件2},{文件3},,,,], ‘input_name2‘:,,,,,,,,,,,,,,,}
#input_name为文件类型表单控件名称,其值为此表单提交的文件列表,列表元素为字典,一个字典包含一个文件对象的全部属性
img = self.request.files[‘input_name1‘] for a in img: content_type = a[‘content_type‘] filename = a[‘filename‘] body = a[‘body‘] with open(path+filename,‘wb‘) as f: f.write(body)
标签:设置 with http open python 对象 rect 名称 ade
原文地址:https://www.cnblogs.com/yanhuazidi/p/10336494.html