㈠ python怎么运行cgi程序
如果是python2.X的话,可以使用modpython进行python的web编程。如果升级到python3.X的话,则可以使用wsgi。因为modpython不支持python3
在这里介绍使用cgi进行python的web编程,然后通过简单的例子进行示范。
使用php编程的童鞋都知道,apache在运行php程序之前需要对apache进行配置。同样,使用python也需要配置。
python的apache配置基本上四个步骤:
1、打开http.conf,找到 #ScriptInterpreterSource Registry,把前面的#去掉。如果没有找到这句话,则自行添加。
2、找到AddHandler
cgi-script,去掉前面的#,在后面加上.py
3、找到Options Indexes FollowSymLinks,在其后加上ExecCGI, 去掉 Indexes
4、保存,重启apache。
之后就可以进行python的编程了,编辑 p.py:
[python] view plain print?
#!D:\\software\python\python.exe
#encoding:gb2312
#import cgi, cgitb
print("Content-type:text/html\r\n\r\n")
print("<html>")
print("<head><title>Hello,python</title></head>")
a="100";
print("<body><h1>hello, i am " )
print(a)
print("</h1></body>")
print("</html>")
然后在浏览器中输入: 127.0.0.1/p.py,就可以看到输出了:
hello, i am 100
㈡ 如何使用Gunicorn的sync模式
Gunicorn作为Python HTTP应用程序中最受欢迎的WSGI服务器之一,我们将深入了解其配置选项,特别是默认的worker类sync,以提高性能。
Gunicorn通常由一个主进程和多个工作进程组成。在选择工作进程类型时,实际上是在选择它们如何工作。对于sync模式,每个工作进程都有一个线程,该线程上请求是顺序处理的。
我们将使用一个简单的WSGI程序来测量sync模式的性能,该程序执行约1秒钟的I/O受限或CPU受限工作。
使用Gunicorn的sync模式运行代码后,我们可以使用一个简单的负载生成器,如hey,来测试其性能。
安装hey可能有些麻烦,但一个简单的安装方法是先安装一个go编译器,然后执行以下命令。
我们可以看到10个请求是顺序处理的。由于每个请求都是1秒钟的I/O受限,所以服务只能处理1个请求/秒。由于没有并发,最慢的响应需要10秒钟。这与Gunicorn对sync工作进程的描述非常一致。
增加更多的worker数量可以处理更多的请求,但可能会耗尽内存。例如,单个Django worker进程可能需要大约100MB内存。因此,Gunicorn建议以(2 x $num_cores) + 1的worker数量为起点。
在Ubuntu上安装smem时,默认是python2版本,运行时会报错。可以下载最新支持python3版本的smem,替换/usr/bin/smem,然后就可以正常运行。
Gunicorn sync模式的性能取决于负载类型。我们对三种不同的工作负载进行了测试:纯I/O、纯CPU和90% I/O / 10% CPU混合。每个工作负载都用1到10个worker进行基准测试。
对于纯I/O工作负载,随着worker数量的增加,系统吞吐量也会增加。这种工作负载的例子包括爬虫、发送短信或发送邮件。
对于纯CPU工作负载,添加超过两个worker进程根本不会提高吞吐量。这种工作负载的例子包括图像处理或计算机视觉。
对于混合负载,即使只有10%的I/O受限也会大幅降低吞吐量。
在本地测试中,我发现当启动8个CPU受限的worker时,40个并发请求处理时间为5秒。当启动10个worker时,处理时间为4秒左右。当继续增加worker数量时,响应时间没有变化。这与其他测试结果有所不同,因此在性能调试时应根据自己的程序进行测试。
总结来说,如果吞吐量很重要,那么任何CPU密集型的工作都不应有使用Python来做。即使在Gunicorn中使用sync模式是处理计算密集型任务的最佳方法,但这项测试表明它可能无法同时有效地利用所有CPU核。
另一个重要结论是,长时间的请求会占用sync进程并降低吞吐量。正如Gunicorn文档所述,当进行第三方请求的工作进程是不应该使用sync工作模式的。
默认的同步工作模式是假设程序是资源受限的。通常这表示程序不应进行需要不确定时间的操作,比如请求互联网。在某些情况下,外部请求会以某种方式失败,客户端将在您的服务器上堆积。因此,任何发出外部API请求的应用程序使用异步工作进程将会更好。
然而,这与其他地方的描述自相矛盾。默认的同步工作模式可以处理大多数"正常"类型的工作负载。向其他服务器发请求不是"正常"的Web应用程序吗?如果吞吐量很重要,则应使用sync工作模式来获得非常快的响应和合理的内存占用。如果由于慢的第三方请求导致吞吐量低,则可以通过使用Celery任务队列在WSGI请求-响应生命周期外运行这些请求。这样,就可以很快向客户端响应,后台可以等待慢的网络请求的调用。
㈢ 你都用Python 来做什么
当我知道可以做这些之后,我特别想会。因为论文查阅、答案确认查询;想知道豆瓣8分以上电影,或者穿越类的电影、处理工资数据考核表等。
可以干什么
1、上学吧答案神器 主要实现的是无限制获取上学吧网站上的题目答案(绕过 IP 限制),并实现了自动识别验证码,只用输入某个题目的网址,即可一键获取答案,速度非常快。“想要哈哈,自己或者给孩子辅导作业必备啊?”
2、抓取某系统内全部学生姓名学号及选课信息
3、扫描研究生系统上的弱密码用户、模拟登录图书馆系统并自动续借
4、给钓鱼网站批量提交垃圾信息 经常会收到含有钓鱼网站链接的短信的,一般都是盗取 QQ 密码的偏多,其实可以使用 Python 来批量给对方的服务器提交垃圾数据(需要先抓包),这样骗子看到信息之后就不知道哪些是真的哪些是假的了,说不定可以解救一部分填了密码的同学。
5、网易云音乐批量下载 可以批量下载网易云音乐热歌榜的歌曲,可以自己设定数量,速度非常快。
6、批量下载读者杂志某一期的全部文章
7、 获取城市PM2.5浓度和排名
8、爬取某网商品价格信息
你都用 Python 来做什么?
那Python 作为一种功能强大的编程语言,因其简单易学而受到很多开发者的青睐。那么,Python 的应用领域有哪些呢?
Python 的应用领域非常广泛,几乎所有大中型互联网企业都在使用 Python 完成各种各样的任务,例如国外的 Google、Youtube、Dropbox,国内的网络、新浪、搜狐、腾讯、阿里、网易、淘宝、知乎、豆瓣、汽车之家、美团等等。概括起来,Python 的应用领域主要有如下几个。
Web应用开发
Python 经常被用于 Web 开发,尽管目前 PHP、JS 依然是 Web 开发的主流语言,但 Python 上升势头更劲。尤其随着 Python 的 Web 开发框架逐渐成熟(比如 Django、flask、TurboGears、web2py 等等),程序员可以更轻松地开发和管理复杂的 Web 程序。例如,通过 mod_wsgi 模块,Apache 可以运行用 Python 编写的 Web 程序。Python 定义了 WSGI 标准应用接口来协调 HTTP 服务器与基于 Python 的 Web 程序之间的通信。举个最直观的例子,全球最大的搜索引擎 Google,在其网络搜索系统中就广泛使用 Python 语言。另外,我们经常访问的集电影、读书、音乐于一体的豆瓣网(如图 1 所示),也是使用 Python 实现的。
图2Python开发的游戏
除此之外,Python 可以直接调用 Open GL 实现 3D 绘制,这是高性能游戏引擎的技术基础。事实上,有很多 Python 语言实现的游戏引擎,例如 Pygame、Pyglet 以及 Cocos 2d 等。以上也仅是介绍了 Python 应用领域的“冰山一角”,例如,还可以利用 Pygame 进行游戏编程;用 PIL 和其他的一些工具进行图像处理;用 PyRo 工具包进行机器人控制编程,等等。有兴趣的读者,可自行搜索资料进行详细了解。
㈣ python可以应用在哪些领域
① Web开发:众多大型网站均为 python 开发。
豆瓣:公司几乎所有的业务均是通过 python 开发的
知乎:国内最大的问答社区,通过 python 开发(Quora) 春雨医生:国内知名的在线医疗网站是用 python 开发的
还有搜狐、金山、腾讯、盛大、网易、网络、阿里、淘宝、薯仔、新浪、果壳等公司都在使用 python 完成各种各样的任务。
国外的网站:
谷歌:Google App Engine、code.Google.com、Google earth、谷歌爬虫、Google 广告等项目都在大量使用 python 开发
CIA:美国中情局网站就是用 python 开发的
NASA:美国航天局(NASA)大量使用 python 进行数据分析和运算
YouTube:世界上最大的视频网站 YouTube 就是 python 开发的
Dropbox:美国最大的在线云存储网站,全部用 python 实现,每天网站处理 10 亿个文件的上传和下载
Instagram:美国最大的图片分享社交网站,每天超过 3 千万张照片被分享,全部用 python 开发
Facebook:大量的基础库均通过 python 实现的
Redhat:世界上最流行的 Linux 发新版本中的 yum 包管理工具就是用 python 开发的
② 爬虫:
现在是大数据时代,爬虫是属于运营的比较多的一个场景吧,比如谷歌的爬虫早期就是用跑Python写的,如果你对采集数据、处理数据感兴趣,爬虫工程师将会是一个很好的选择。
③ 数据分析:
一般我们用爬虫爬到了大量的数据之后,我们需要处理数据用来分析,不然爬虫白爬了,我们最终的目的就是分析数据,在这方面关于数据分析的库也是非常的丰富的,各种图形分析图等都可以做出来。也是非常的方便,其中诸如Seaborn这样的可视化库,能够仅仅使用一两行就对数据进行绘图,而利Pandas和Numpy、scipy则可以简单地对大量数据进行筛选、回归等计算。
④ 人工智能:
Python近年来被人们熟知的主要原因就是人工智能领域的兴起。
Python在科学计算领域一直有着较好的声誉,其简洁清晰的语法以及丰富的计算工具,深受此领域开发者喜爱。
python 由于具有编写简单、改动少等特点。特别适合用在机器学习方向。并且提供了丰富的库。减少了学习人工智能的成本。