本文目录一览:
- 1、如何用python开发移动App后台?需要掌握哪些技术
- 2、怎么测试python webservice
- 3、python-aiohttp 怎么获取响应时间
- 4、python的requests模块,怎么获取响应时间
- 5、请用python 筛选出下列的“时间=2”和“时间=8”之间的行 并打印出来
如何用python开发移动App后台?需要掌握哪些技术
1、如果使用python语言,需要学习哪些知识?
python作为一门简单明了的语言,非常容易上手,语言层面不会太复杂,稍微有点难度的顶多就是装饰器、元类和少量函数式编程内容。要说学习的话,我觉得更多是一些编程方面通用的东西,比如:数据结构和算法、设计模式、操作系统、计算机网络之类的
2、选择什么样的python框架开发,这个框架的优势?
tornado,因为非阻塞io的原因,性能非常高,特别适合写后端API(App的后端应该都是rest风格的api),而且成熟稳定
3、如何部署服务器?本地服务器调试,以及公网服务器部署?
这个一两句说不清楚,涉及到运维、测试、开发诸多方面, 部署和测试推荐几个包:fabric、nose、unittest(python自带),版本管理推荐git,持续集成推荐使用docker+jenkins
4、如果使用python框架开发移动后台服务,在开发源码内使用哪种框架?mvc还是其它的,比如我返回json数据,每次json对象最外层有一些相同的东西,该如何处理?
MVC什么的,一般的框架都差不多的,tornado也是支持的,返回json有相同的东西,写个修饰器就完了
5、python的后台服务最大能支持多大的pv量会严重影响用户体验性能?
youtube、reddit、豆瓣、知乎这样的大流量网站都是python写的,觉得你的App的规模不太可能遇到性能问题,即使有也应该不是python的问题,而是任何语言都会有问题。毕竟web后端不是计算密集型,而是io密集型的,python和其他语言的区别不会太大吧,大量的pv是可以靠堆服务器堆出来的,如果是计算量比较大的任务,你可以考虑用c或c++写
6、如何兼顾 网页前端以及移动端 开发的后台?
用python写的API,网页和移动端都是可以调用啊,让前端学学React,就可以轻松解决前后端分离这个问题(PS: facebook 就是后端php + 前端React,淘宝也有在用nodejs做前后端分离)
7、有没用相关的案例,即用python开发的移动后台?有没有该问题的开源项目?
这个应该比较少,App后端开源的不常见,而且大部分是rest风格的api,很多时候会涉及到自身的业务和敏感信息应该不会开源的吧(又不是bbs或者博客程序)
怎么测试python webservice
压力测试有很多工具啊。apache的,还有jmeter,还有loadrunner,都比较常用。其实你自己用python写的,也足够用。压力测试过程中要统计时间。比如每秒的并发数,每秒的最大响应时间,最小响应时间,平均响应时间。最后再统一所有的请求完成后的上术参数。将这些参数输出成CSV格式的文件。如果不知道什么是CSV就是指将数据用引号包起来,中间用逗号分开,一系统数据放一行。有了这个CSV文件,你用EXCEL打开来做图就可以。如果你熟练,可以使用gnuplot这个命令行工具做图。
python-aiohttp 怎么获取响应时间
#!/usr/bin/python
# -*-coding:utf-8-*-
import time
import requests
start_time = time.time()
r = requests.get(url)
now_time = time.time()-start_time
这样可以另类的实现。
python的requests模块,怎么获取响应时间
#!/usr/bin/python
# -*-coding:utf-8-*-
import time
import requests
start_time = time.time()
r = requests.get(url)
now_time = time.time()-start_time
这样可以另类的实现。。
请用python 筛选出下列的“时间=2”和“时间=8”之间的行 并打印出来
#coding:utf8
import re
test = """来自 119.75.218.77 的回复: 字节=32 时间=12ms TTL=53
来自 119.75.218.77 的回复: 字节=32 时间=2ms TTL=53
来自 119.75.218.77 的回复: 字节=32 时间=2ms TTL=53
来自 119.75.218.77 的回复: 字节=32 时间=2ms TTL=53
来自 119.75.218.77 的回复: 字节=32 时间=4ms TTL=53
来自 119.75.218.77 的回复: 字节=32 时间=2ms TTL=53
来自 119.75.218.77 的回复: 字节=32 时间=3ms TTL=53
来自 119.75.218.77 的回复: 字节=32 时间=2ms TTL=53
来自 119.75.218.77 的回复: 字节=32 时间=8ms TTL=53
来自 119.75.218.77 的回复: 字节=32 时间=11ms TTL=53
来自 119.75.218.77 的回复: 字节=32 时间=3ms TTL=53
来自 119.75.218.77 的回复: 字节=32 时间=3ms TTL=53
来自 119.75.218.77 的回复: 字节=32 时间=5ms TTL=53
来自 119.75.218.77 的回复: 字节=32 时间=28ms TTL=53
来自 119.75.218.77 的回复: 字节=32 时间=2ms TTL=53
来自 119.75.218.77 的回复: 字节=32 时间=2ms TTL=53
来自 119.75.218.77 的回复: 字节=32 时间=2ms TTL=53
来自 119.75.218.77 的回复: 字节=32 时间=6ms TTL=53"""
a = test.split('\n')
#找到起始位置
for i in a:
if i.find("=2ms") 0:
start = a.index(i)
break
#找到结束位置
for i in a:
if i.find("=8ms") 0:
end = a.index(i)+1
break
for i in a[start:end]:
print i