代码改变世界

随笔分类 -  python(转)

python time模块详解

2013-12-21 17:37 by 江湖么名, 339 阅读, 收藏,
摘要: python 的内嵌time模板翻译及说明 一、简介 time模块提供各种操作时间的函数 说明:一般有两种表示时间的方式: 第一种是时间戳的方式(相对于1970.1.1 00:00:00以秒计算的偏移量),时间戳是惟一的 第二种以数组的形式表示即(struct_time),共有九个元素,分别表示,同一个时间戳的struct_time会因为时区不同而不同 year (four digits, e.g. 1998) month (1-12) day (1-31) hours (0-23) minutes (0-59) seconds (0-59) weekday (0-6, Monday is 0 阅读全文

python时间模块

2013-12-21 17:36 by 江湖么名, 258 阅读, 收藏,
摘要: 关于python时间模块问题#:当前时间时间戳 1312181113.31print(time.time())#将字符串转成时间戳ts = '2011-08-01 14:15:40'b = time.mktime(time.strptime(ts,'%Y-%m-%d %H:%M:%S'))print(b)#返回指定时间的时间戳使用mktimed = datetime.datetime(1997,12,29,15,59,59)t = d.timetuple()#再转为元组print(time.mktime(t))#使用time的mktime方法返回时间戳#将时间戳 阅读全文

Python urllib2 设置超时时间并处理超时异常

2013-08-01 21:20 by 江湖么名, 30119 阅读, 收藏,
摘要: 可以使用except: 捕获任何异常,包括SystemExit 和 KeyboardInterupt,不过这样不便于程序的调试和使用最简单的情况是捕获urllib2.URLErrortry: urllib2.urlopen("http://example.com", timeout = 1) except urllib2.URLError, e: raise MyException("There was an error: %r" % e) 以下代码对超时异常进行了捕获import urllib2 import socket class MyExcept 阅读全文

Python Unicode与中文处理(转)

2013-08-01 13:38 by 江湖么名, 979 阅读, 收藏,
摘要: Python Unicode与中文处理 python中的unicode是让人很困惑、比较难以理解的问题,本文力求彻底解决这些问题;1.unicode、gbk、gb2312、utf-8的关系;http://www.pythonclub.org/python-basic/encode-detail 这篇文章写的比较好,utf-8是unicode的一种实现方式,unicode、gbk、gb2312是编码字符集;2.python中的中文编码问题;2.1 .py文件中的编码 Python 默认脚本文件都是 ANSCII 编码的,当文件 中有非 ANSCII 编码范围内的字符的时候就要使用"编码 阅读全文

Python 插件杂谈 (1) ---- chardet

2013-07-31 10:58 by 江湖么名, 403 阅读, 收藏,
摘要: Python做为一门应用广泛,粉丝众多的语言。吸引了无数的开发者为其添砖加瓦。笔者使用python逾一个月,就接触了许多 python插件,写篇文章,仅做记录. 第一个介绍的是 chardet. chardet是为了探测python中字符集问题而开发的插件。>>> import urllib>>> urlread = lambda url: urllib.urlopen(url).read()>>> import chardet>>> chardet.detect(urlread("http://google.c 阅读全文

Python—HTTP处理Gzip压缩数据

2013-07-30 23:33 by 江湖么名, 8641 阅读, 收藏,
摘要: HTTP 请求中包含Accept-encoding: gzip头信息可以告诉服务器,如果它有任何新数据要发送给我时,请以压缩的格式发送。如果服务器支持压缩,它将返回由 gzip 压缩的数据并且使用Content-encoding: gzip头信息标记。#codeing:utf-8import urllib2, httplibimport StringIOimport gzipdef findUrlGzip(url):request =urllib2.Request(url)request.add_header('Accept-encoding', 'gzip') 阅读全文

python之md5模块

2013-07-30 23:30 by 江湖么名, 937 阅读, 收藏,
摘要: python的md5模块使用非常简单,包括以下几个函数:md5.new([arg])返回一个md5对象,如果给出参数,则相当于调用了update(arg)md5.updte(arg)用string参数arg更新md5对象md5.digest()返回16字节的摘要,由传给update的string生成,摘要没有ascii字符md5.hexdigest()以16进制的形式返回摘要代码示例:01.#!/usr/bin/python02.import sys03.import md504.05.str=sys.argv[1]06.key = md5.new()07.key.update(str)08. 阅读全文

python socket 超时设置 errno10054

2013-07-30 13:38 by 江湖么名, 21604 阅读, 收藏,
摘要: python socket.error: [Errno 10054] 远程主机强迫关闭了一个现有的连接。问题解决方案:前几天使用python读取网页。因为对一个网站大量的使用urlopen操作,所以会被那个网站认定为攻击行为。有时就不再允许下载。导致urlopen()后,request.read()一直卡死在那里。最后会抛出errno 10054.这 个错误是connection reset by peer.也就是传说的远端主机重置了此连接。原因可能是socket超时时间过长;也可能是request = urllib.request.urlopen(url)之后,没有进行request.clo 阅读全文

python多线程编程(6): 队列同步

2013-07-29 15:58 by 江湖么名, 532 阅读, 收藏,
摘要: 原文请看:http://www.cnblogs.com/holbrook/archive/2012/03/15/2398060.html前面介绍了互斥锁和条件变量解决线程间的同步问题,并使用条件变量同步机制解决了生产者与消费者问题。让我们考虑更复杂的一种场景:产品是各不相同的。这时只记录一个数量就不够了,还需要记录每个产品的细节。很容易想到需要用一个容器将这些产品记录下来。Python的Queue模块中提供了同步的、线程安全的队列类,包括FIFO(先入先出)队列Queue,LIFO(后入先出)队列 LifoQueue,和优先级队列PriorityQueue。这些队列都实现了锁原语,能够在多线程 阅读全文

python正则的中文处理(转)

2013-07-27 23:27 by 江湖么名, 6197 阅读, 收藏,
摘要: 匹配中文时,正则表达式规则和目标字串的编码格式必须相同 print sys.getdefaultencoding() text =u"#who#helloworld#a中文x#" print isinstance(text,unicode) print textUnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 18: ordinal not in range(128)print text报错解释:控制台信息输出窗口是按照ascii编码输出的(英文系统的默认编码是a 阅读全文

UNICODE,GBK,UTF-8区别

2013-07-26 03:52 by 江湖么名, 293 阅读, 收藏,
摘要: 简 单来说,unicode,gbk和大五码就是编码的值,而utf-8,uft-16之类就是这个值的表现形式.而前面那三种编码是一兼容的,同一个汉字, 那三个码值是完全不一样的.如"汉"的uncode值与gbk就是不一样的,假设uncode为a040,gbk为b030,而uft-8码,就是把那个 值表现的形式.utf-8码完全只针对uncode来组织的,如果GBK要转UTF-8必须先转uncode码,再转utf-8就OK了.详细的就见下面转的这篇文章.谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不. 阅读全文

初探python编码

2013-07-26 03:50 by 江湖么名, 826 阅读, 收藏,
摘要: 背景:在实际数据处理中,我们或多或少会接触到中文,如两个dc pack包的diff。使用python对中文数据 处理难免会遇到编码问题。python里面主要考虑三种编码:1、源文件编码:如果我们在源文件中使用中文注释或中文docstring或中文字符串,如不明确指定应使用哪个中文字符集,解 释器将无法处理我们的程序。这是因为解释器默认程序使用的是ASCII或ISO-8859-1(即LATIN-1)编码。解决方法是在文件头部使用coding声明(往往紧跟在#!注释行后面):#coding: gbk或# coding=gbk或# -*- coding: gbk -*-2、内部编码: python内 阅读全文

python中unicode、utf8、gbk等编码问题

2013-07-25 23:43 by 江湖么名, 6870 阅读, 收藏,
摘要: 概要:编码转换无疑是程序开发过程中常遇到而且很让人头疼的问题,一旦和数据库交互那就更麻烦了,今天来总结一下 python 中编码转换的方法。前一段时间就想写一篇总结Python字符串的文章,但是时间较紧,而且我当时遇到的问题也不是很难,就暂搁下了,今天又被这编码折磨一番,泪奔啊……至于unicode、utf8等编码原理以及区别等问题可以去百度百科查看,网上也有介绍,我想说的是直接的转换方法——先知其然,然后再知其所以然吧。1.普通字符串与unicode转换无论是什么平台什么编码格式都能转换为unicode格式。以utf8编码方式把字符串转换为unicode:'aaa'.deco 阅读全文

Python字符编码详解

2013-07-25 23:38 by 江湖么名, 306 阅读, 收藏,
摘要: 本文简单介绍了各种常用的字符编码的特点,并介绍了在python2.x中如何与编码问题作战 :) 请注意本文关于Python的内容仅适用于2.x,3.x中str和unicode有翻天覆地的变化,请查阅其他相关文档。 尊重作者的劳动,转载请注明作者及原文地址 >. 打开看看)而UTF则引入了BOM来表示自身编码,如果一开始读入的几个字节是其中之一,则代表接下来要读取的文字使用的编码是相应的编码:BOM_UTF8 '\xef\xbb\xbf' BOM_UTF16_LE '\xff\xfe' BOM_UTF16_BE '\xfe\xff'并不是所有 阅读全文

python的str,unicode对象的encode和decode方法(转)

2013-07-25 23:24 by 江湖么名, 715 阅读, 收藏,
摘要: python的str,unicode对象的encode和decode方法(转)python的str,unicode对象的encode和decode方法 python中的str对象其实就是"8-bit string" ,字节字符串,本质上类似java中的byte[]。 而python中的unicode对象应该才是等同于java中的String对象,或本质上是java的char[]。 对于 Python代码 s="你好" u=u"你好"s="你好" u=u"你好" 1. s.decode方法和u.e 阅读全文

Python字符串的encode与decode研究心得乱码问题解决方法

2013-07-25 23:22 by 江湖么名, 307 阅读, 收藏,
摘要: 为什么会报错“UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)”?本文就来研究一下这个问题。字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb23 阅读全文

UnicodeEncodeError: 'gbk' codec can't encode character ...

2013-07-25 15:11 by 江湖么名, 964 阅读, 收藏,
摘要: 使用Python写文件的时候,或者将网络数据流写入到本地文件的时候,大部分情况下会遇到:UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position ... 这个问题。 网络上有很多类似的文件讲述如何解决这个问题,但是无非就是encode,decode相关的,这是导致该问题出现的真正原因吗?不是的。 很多时候,我们使用了decode和encode,试遍了各种编码,utf8,utf-8,gbk,gb2312等等,该有的编码都试遍了,可是编译的时 候仍然出现:Unicode 阅读全文

Project interpreter not specified(eclipse+pydev) (转)

2013-07-25 10:25 by 江湖么名, 426 阅读, 收藏,
摘要: 【小记】 最近因为想配置Android的开发环境,把原来的MyEclipse5.5删了,下载了最新的Eclipse3.7版本,因为之前在进行Python开发,就下载了最新的Pydev2.4版本,安装插件之后,新建Python工程时,提示如下错误:Project interpreter not specified,(见图一)。 开始我以为是插件安装有问题,后来查了蛮久才发现是没有导入Python的开发环境导致的。 知道原因了解决就很简单了: 0、当然你的系统必须已经安装了Python的安装环境,这是必须的哦,因为Eclipse仅仅是提供一个IDE而已,并不提供各种语言的解释器、编译器... 阅读全文

实例教程:1小时学会Python(转)

2013-07-24 20:13 by 江湖么名, 285 阅读, 收藏,
摘要: 1 序言面向读者 本文适合有经验的程序员尽快进入Python2.x世界.特别地,如果你掌握Java和Javascript,不用1小时你就可以用Python快速流畅地写有用的Python程序. Python3.x用户请参考:http://www.cnitblog.com/yunshichen/archive/2009/04/01/55924.html (由于Django不支持python3, 所以为了你的发展潜力, 建议你学习python2.x)为什么使用Python 假设我们有这么一项任务:简单测试局域网中的电脑是否连通.这些电脑的ip范围从192.168.0.101到192.168.0.20 阅读全文

备份文件的python脚本(转)

2013-07-24 20:10 by 江湖么名, 265 阅读, 收藏,
摘要: 作用:将目录备份到其他路径。实际效果:假设给定目录"/media/data/programmer/project/python" ,备份路径"/home/diegoyun/backup/“ , 则会将python目录下的文件按照全路经备份到备份路径下,形如:/home/diegoyun/backup/yyyymmddHHMMSS/python/xxx/yyy/zzz.....脚本:importosimportshutilimportdatetimedefmainLogic():#adddirsyouwanttocopybackdir="I:\\backu 阅读全文