良玉的博客 点点滴滴,积水成河_良玉的博客_页游、手游linux运维工程师之路

解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误

基本上是ascii编码方式,由此Python自然调用ascii编码解码程序去处理字符流,当字符流不属于ascii范围内,就会抛出异常(ordinal not in range(128))。

解决的方案很简单,修改默认的编码模式,很多朋友会想到setdefaultencoding,是的,我们可以通过sys.setdefaultencoding(‘utf-8′)来将当前的字符处理模式修改为utf-8编码模式,值得注意的是,如果单纯这么调用的话,Python会抛出一个AttributeError异常:


阅读全文...

Linux解决python报错ImportError No module named MySQLdb

最近在CentOS上执行需要操作MySQL的Python脚本时,报错ImportError No module named MySQLdb

本以为缺模块只是很简单的事情,没想到还是花了不少时间,总结下解决的方法如下:

系统:CentOS 6.4

Python版本:2.7.6


阅读全文...

Python编码时应该注意的情况

在编程过程中,多了解语言周边的一些知识,以及一些技巧,可以让你加速成为一个优秀的程序员。

对于Python程序员,你需要注意一下本文所提到的这些事情。你也可以看看Zen of Python(Python之禅),这里面提到了一些注意事项,并配以示例,可以帮助你快速提高。


1. 漂亮胜于丑陋

实现一个功能:读取一列数据,只返回偶数并除以2。下面的代码,哪个更好一些呢?
#----------------------------------------
halve_evens_only = lambda nums: map(lambda i: i/2, filter(lambda i: not i%2, nums))
#----------------------------------------
def halve_evens_only(nums):

   return [i/2 for i in nums if not i % 2]


阅读全文...

python编程--打牌

#!/usr/bin/python
#encoding: utf-8
#一群人想打斗地主和升级。已知他们已经1个、2个、3个或者4个人成为一桌了,现在要把他们全部变成3人一桌或者4人一桌,问至少移动几个人?(要保证所有人都能进行游戏) 输入格式: 多组数据,每组数据一行,包含4个整数a,b,c,d 0<=a,b,c,d<=100000000表示1个人、两个人、3个人、4个人的桌数。 输出格式: 至少移动的人数,如果不可能完成,输出-1

阅读全文...

标签: python打牌

作者:良玉 分类:Python 浏览:502 评论:0

python多进程

要让Python程序实现多进程(multiprocessing),我们先了解操作系统的相关知识。

Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回。


阅读全文...

python多线程

多任务可以由多进程完成,也可以由一个进程内的多线程完成。

我们前面提到了进程是由若干线程组成的,一个进程至少有一个线程。


阅读全文...

Python三种删除列表中重复的元素及效率分析!

方法一:

使用列表对象的sort()方法对列表进行排序,从最后一个元素开始循环迭代列表,判断相邻的两元素是否是否相等!

1
2
3
4
5
6
7
8
9
10
def methodOne(list):
    list.sort()
    lenList = len(list)
    lastItem = list[lenList-1]
    for i in range(lenList-2,-1,-1):
        if list[i] == lastItem:
            list.remove(list[i])
        else:
            lastItem = list[i]
    return list


阅读全文...

Python 爬取蜂鸟网的照片

初衷

上次兔子君问 如何下载 蜂鸟网 上图集的一张照片。打开之后,确实无法右键另存为。不应该啊,web上面还没有这么强的技术保护发布的图片。firebug查看,图片的搜索总是指向一个 a标签。这个 a 标签有一个 height:100%。应该是一个遮罩,用来给幻灯片浏览导航使用的。无意中也进行了简单的 盗图保护。

下载很简单,不过兔子先生的需求有变,需要下载一个图集,这样右键的行为,显然比较累。唔,想要下载一个图集,写脚本 爬虫了。爬一个图集下来,python这方面是好手。               

分析

阅读全文...