这是一道面试题,要求在Python环境下用尽可能多的方法反转字符串,例如将s = “abcdef”反转成 “fedcba” 。 方法1:字符串切片 1result = s[::-1] 方法2:使用列表的reverse方法 1l = list(s) 2l.reverse() 3result = "".join(l) 4或者 5l = list(s) 6result = "".join(l[::-1]) 方法3:使用reduce 1result = reduce(lambda x,y:y+x,s) 方法4:使用递归函数 1def func(s): 2 if len(s) <1: 3 return s……
Continue reading
UNIX时间戳转换为日期用函数: FROM_UNIXTIME() 1select FROM_UNIXTIME(1156219870); 日期转换为UNIX时间戳用函数: UNIX_TIMESTAMP() 1Select UNIX_TIMESTAMP(’2006-11-04 12:23:00′); 例:mysql查询当天的记录数: 1$sql=”select * from message Where DATE_FORMAT(FROM_UNIXTIME(chattim……
Continue reading
这里以抓取 http://www.proxy.com.ru 站点的代理服务器为例,代码如下: 1#!/usr/bin/env python 2#coding:utf-8 3import urllib2 4import re 5import threading 6import time 7import MySQLdb 8rawProxyList = [] 9checkedProxyList = [] 10#抓取代理网站 11targets = [] 12for i in xrange(1,42): 13 target = r"http://www.proxy.com.ru/list_%d.html" % i 14 targets.append(target) 15#抓取代理服务器正则 16p = re.compile(r'''<tr><b><td>(\d+)</td><td>(.+?)</td><td>(\d+)</td><td>(.+?)</td><td>(.+?)</td></b></tr>''') 17#获取代理的类 18class ProxyGet(threading.Thread): 19 def __init__(self,target): 20 threading.Thread.__init__(self) 21 self.target = target 22 def getProxy(self): 23 print "代理服务器目标网站: " + self.target 24 req = urllib2.urlopen(self.target) 25 result = req.read() 26 #print chardet.detect(result) 27 matchs = p.findall(result) 28# print……
Continue reading
最近wordpress默认使用的Gravatar头像地址又被墙了,虽然不影响blog页面的正常访问,不过对于一个处女座的人是容不下这点瑕疵的。以下总结了几种针对该问题的解决方法。 方法1:更换gravater地址 通过查找gravater的地址,共找到了以下地址: http://www.gravatar.com http://0.gravatar.com http://1.gravatar.com http://2.gravatar.com http://gravatar.com http://cn.gravatar.com https://secure.gravatar.com 测试发……
Continue reading
现在许多新的PC机(尤其是主板集成网卡的机器)都支持远程唤醒功能(WOL,Wake on Lan),通过远程唤醒,可以方便管理员实现计算机的自动开启。当然被远程唤醒的主机需要具备以下条件: 主板(和网卡)支持WOL功能,有些机器还需要在BIOS中设置开启该功能; 主机在关闭状态时需要是插电……
Continue reading
php站点流量一旦上来,就可能导致服务器负载不太稳定,负载时不时会飙升好几倍甚至十几倍,访问就非常慢啦。而站点内的很多东西都可以进行缓存的,以wordpress为例,可以使用xcache做对象缓存扩展,memcached/redis做内存缓存。 一、XCache 简介 XCache 是一个国人开发……
Continue reading
现网的一台HP服务器在message日志中不停的刷日志kernel: uhci_hcd 0000:01:00.4: Controller not stopped yet! 。HP工程师确认后回复为在登陆ILO后虚拟控制台操作usb的键盘鼠标的原因导致的,对主机并无影响。根据PCI 报错的设备ID给查看如下: 1# ls -l /sys/bus/usb/devices/usb* |grep "0000:01:00.4" 2usb3 -> ../../../devices/pci0000:00/0000:00:1c.7/0000:01:00.4/usb3 我在HP网站上也找到了相关文章,可以通过如下方法……
Continue reading
在写一个简单的脚本的时候,想用到切片功能,在python里实现非常简单,也非常好用 。印象中shell 也可以实现,查了下,发现自己之前就做过shell 字符串截断和切片的总结:shell字符串操作小结 。这里再细化下。 一、字符串切片 语法:${variable_name:start_po……
Continue reading
前天,在 Python将BT种子文件转换为磁力链的两种方法 篇中根据网上的方法完成后bt种子转换为磁力链的过程,今天要做的是一个反过程,将磁力链转化为种子文件。 1、需要先安装python-libtorrent包 ,在ubuntu环境下,可以通过以下指令完成安装: 1# sudo apt-get install python-libtorrent 2、代码如下:……
Continue reading
在抓取页面图片时,为避免重复抓取,将抓取的img结果(结果集是list类型的)通过集合去重。这里总结了下网上搜集到的几种方法。 一、方法1 1ids = [1,2,3,3,4,2,3,4,5,6,1] 2news_ids = [] 3for id in ids: 4 if id not in news_ids: 5 news_ids.append(id) 6print news_ids 思路看起来比较清晰简单 ,也可以保持之前的排列顺序。 二、方法2 通过set方法进行处理 1ids = [1,4,3,3,4,2,3,4,5,6,1] 2ids = list(set(ids)) 处理起来比……
Continue reading