python2.4升级2.7.2入门实例

python2.4升级2.7.2入门实例,第1张

概述python2.4升级2.7.2入门实例 对python这个高级语言感兴趣的小伙伴,下面一起跟随内存溢出 jb51.cc的小编两巴掌来看看吧![root@~]# python

Python 2.4.3 (#1,May 5 2011,16:39:10)

[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2

Type "help","copyright","credits" or "license" for more information.

>;>>

[root@~]#

下载新版本的python

[root@~]# wget

 

解压缩 以及编译

[root@~]# tar jxvf Python-2.7.3.tar.bz2

[root@wangyuelou Python-2.7.2]# ./configure --prefix=/usr/local/python27

[root@wangyuelou Python-2.7.2]# make

[root@wangyuelou Python-2.7.2]# make install

[root@wangyuelou Python-2.7.2]# ls /usr/local/python27/ -al

total 28

drwxr-xr-x 6 root root 4096 Jul 14 00:21 .

drwxr-xr-x 20 root root 4096 Jul 14 00:17 ..

drwxr-xr-x 2 root root 4096 Jul 14 00:21 bin

drwxr-xr-x 3 root root 4096 Jul 14 00:21 include

drwxr-xr-x 4 root root 4096 Jul 14 00:21 lib

drwxr-xr-x 3 root root 4096 Jul 14 00:21 share

覆盖原来的python链接

[root@wangyuelou Python-2.7.2]# mv /usr/bin/python /usr/bin/python_old

[root@wangyuelou Python-2.7.2]# ln -s /usr/local/python27/bin/python /usr/bin/

[root@wangyuelou Python-2.7.2]# python

Python 2.7.2 (default,Jul 14 2011,00:20:14)

[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)] on linux2

Type "help","credits" or "license" for more information.

>>>

此处已经可以正常使用python2.7了

但是因为yum是使用的2.4的版本来用的,所以 还需要修改一下

[root@~]# yum

There was a problem importing one of the Python modules

required to run yum. The error leading to this problem was:



No module named yum



Please install a package which provIDes this module,or

verify that the module is installed correctly.



It's possible that the above module doesn't match the

current version of Python,which is:

2.7.2 (default,00:20:14)

[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)]



If you cannot solve this problem yourself,please go to

the yum faq at:





[root@wangyuelou Python-2.7.2]# vim /usr/bin/yum



#!/usr/bin/python #修改此处为2.4的位置

[root@~]# vim /usr/bin/yum



#!/usr/bin/python2.4

[root@~]# yum

Loaded plugins: fastestmirror

You need to give some command

usage: yum [options] COMMAND



List of Commands:



check-update Check for available package updates

clean Remove cached data

depList List a package's dependencIEs

downgrade downgrade a package

erase Remove a package or packages from your system

groupinfo display details about a package group

groupinstall Install the packages in a group on your system

groupList List available package groups

groupremove Remove the packages in a group from your system

help display a helpful usage message

info display details about a package or group of packages

install Install a package or packages on your system

List List a package or groups of packages

localinstall Install a local RPM

yum 又可以使用了)



# Process the JsON string.

results = simpleJson.load(response)

# Now have some fun with the results...

实际应用中可能需要抓取Google的很多网页,所以还需要使用多线程来分担抓取任务。使用Google web search API的参考详细介绍,请看此处(这里介绍了Standard URL Arguments)。另外要特别注意,url中参数rsz必须是8(包括8)以下的值,若大于8,会报错的!

(3)代码实现

代码实现还存在问题,但是能够运行,鲁棒性差,还需要进行改进,希望各路大神指出错误(初学Python),不胜感激。

python代码如下:
#-*-Coding:utf-8-*-import urllib2,urllibimport simpleJsonimport os,time,threadingimport common,HTML_filter#input the keywordskeywords = raw_input('Enter the keywords: ')#define rnum_perpage,pagesrnum_perpage=8pages=8#定义线程函数def thread_scratch(url,rnum_perpage,page):url_set = []try:request = urllib2.Request(url,None,{'Referer': 'http://www.sina.com'})response = urllib2.urlopen(request)# Process the JsON string.results = simpleJson.load(response)info = results['responseData']['results']except Exception,e:print 'error occured'print eelse:for minfo in info:url_set.append(minfo['url'])print minfo['url']#处理链接i = 0for u in url_set:try:request_url = urllib2.Request(u,{'Referer': 'http://www.sina.com'})request_url.add_header('User-agent','CSC')response_data = urllib2.urlopen(request_url).read()#过滤文件#content_data = HTML_filter.filter_Tags(response_data)#写入文件filenum = i+pagefilename = dir_name+'/related_HTML_'+str(filenum)print ' write start: related_HTML_'+str(filenum)f = open(filename,'w+',-1)f.write(response_data)#print content_dataf.close()print ' write down: related_HTML_'+str(filenum)except Exception,e:print 'error occured 2'print ei = i+1return#创建文件夹dir_name = 'related_HTML_'+urllib.quote(keywords)if os.path.exists(dir_name):print 'exists file'common.delete_dir_or_file(dir_name)os.makedirs(dir_name)#抓取网页print 'start to scratch web pages:'for x in range(pages):print "page:%s"%(x+1)page = x * rnum_perpageurl = ('https://AJAX.GoogleAPIs.com/AJAX/services/search/web''?v=1.0&q=%s&rsz=%s&start=%s') % (urllib.quote(keywords),page)print urlt = threading.Thread(target=thread_scratch,args=(url,page))t.start()#主线程等待子线程抓取完main_thread = threading.currentThread()for t in threading.enumerate():if t is main_thread:continuet.join()# 来自jb51.cc 
总结

以上是内存溢出为你收集整理的python2.4升级2.7.2入门实例全部内容,希望文章能够帮你解决python2.4升级2.7.2入门实例所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1200279.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存