代码改变世界

随笔档案-2013年07月

多线程下,Python Sqlite3报[SQLite objects created in a thread can only be used...]问题

2013-07-31 18:45 by 江湖么名, 6507 阅读, 收藏,
摘要: 明明加了锁保护,还是出了下面的问题ProgrammingError: SQLite objects created in a thread can only be used in that same thread.The object was created in thread id 4460 and this is thread id 7608解决方式: sqlite3.connect(fp,check_same_thread = False) 阅读全文

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

2013-07-31 10:58 by 江湖么名, 389 阅读, 收藏,
摘要: 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 江湖么名, 8611 阅读, 收藏,
摘要: 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 江湖么名, 923 阅读, 收藏,
摘要: 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访问web的利器:urllib2

2013-07-30 23:26 by 江湖么名, 775 阅读, 收藏,
摘要: 使用Python访问网页主要有三种方式: urllib, urllib2, httpliburllib比较简单,功能相对也比较弱,httplib简单强大,但好像不支持session1. 最简单的页面访问res=urllib2.urlopen(url)print res.read()2. 加上要get或post的数据data={"name":"hank", "passwd":"hjz"}urllib2.urlopen(url, urllib.urlencode(data))3. 加上http头header={&quo 阅读全文

urllib2模块、cookielib模块

2013-07-30 23:13 by 江湖么名, 5434 阅读, 收藏,
摘要: urllib2模块 urllib模块和urllib模块类似,用来打开URL并从中获取数据。与urllib模块不同的是,urllib模块不仅可以使用urlopen() 函数还可以自定义Opener来访问网页。同时要注意:urlretrieve()函数是urllib模块中的,urllib2模块中不存在该函数。但是 使用urllib2模块时一般都离不开urllib模块,因为POST的数据需要使用urllib.urlencode()函数来编码。 一、urlopen() 最简单的请求方式就是用urlopen()函数。 urlopen (url [,data ,[timeout]]) 函数打开URL u. 阅读全文

Python BeautifulSoup 简单笔记

2013-07-30 22:54 by 江湖么名, 18429 阅读, 收藏,
摘要: Beautiful Soup 是用 Python 写的一个 HTML/XML 的解析器,它可以很好的处理不规范标记并生成剖析树。通常用来分析爬虫抓取的web文档。对于 不规则的 Html文档,也有很多的补全功能,节省了开发者的时间和精力。Beautiful Soup 的官方文档齐全,将官方给出的例子实践一遍就能掌握。官方英文文档,中文文档一 安装 Beautiful Soup 安装 BeautifulSoup 很简单,下载 BeautifulSoup 源码。解压运行 python setup.py install 即可。测试安装是否成功。键入 import BeautifulSoup 如果没有 阅读全文

Python 标准库 urllib2 的使用细节

2013-07-30 22:35 by 江湖么名, 365 阅读, 收藏,
摘要: Python 标准库中有很多实用的工具类,但是在具体使用时,标准库文档上对使用细节描述的并不清楚,比如 urllib2 这个 HTTP 客户端库。这里总结了一些 urllib2 的使用细节。Proxy 的设置Timeout 设置在 HTTP Request 中加入特定的 HeaderRedirectCookie使用 HTTP 的 PUT 和 DELETE 方法得到 HTTP 的返回码Debug LogProxy 的设置urllib2 默认会使用环境变量 http_proxy 来设置 HTTP Proxy。如果想在程序中明确控制 Proxy 而不受环境变量的影响,可以使用下面的方式import 阅读全文

SQLite使用小结

2013-07-30 19:00 by 江湖么名, 3998 阅读, 收藏,
摘要: 一、SQLite简介 SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。 SQLite虽然很小巧,但是支持的SQL语句不会逊色于其他开源数据库,它支持的SQL包括: ATTACH DATABA... 阅读全文

Python与SQLite日期时间函数的使法

2013-07-30 18:29 by 江湖么名, 1241 阅读, 收藏,
摘要: SQLite的时间函数跟Python的时间函数有些许差别,所以稍做记录,供自己以后查询。 网上有将SQLite官方WIKI内容翻译成中文的文章,大家有兴趣可以搜索一下,我这里单纯记录一下个人比较常用的一些内容。SQLite的五个时间函数:date(日期时间字符串, 修正符, 修正符, ......)time(日期时间字符串, 修正符, 修正符, ......)datetime(日期时间字符串, 修正符, 修正符, ......)julianday(日期时间字符串, 修正符, 修正符, ......)strftime(日期时间格式, 日期时间字符串, 修正符, 修正符, ......) date 阅读全文

python之sqlite3使用详解

2013-07-30 17:11 by 江湖么名, 609 阅读, 收藏,
摘要: Python SQLITE数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身。它使用一个文件存储整个数据库,操 作十分方便。它的最大优点是使用方便,功能相比于其它大型数据库来说,确实有些差距。但是性能表现上,SQLITE并不逊色。麻雀虽小,五脏俱全, sqlite 实现了多数 sql-92 的标准,比如说 transaction 、 trigger 和复杂的查询等。python的数据库模块有统一的接口标准,所以数据库操作都有统一的模式,基本上都是下面几步(假设数据库模块名为db):1. 用db.connect创建数据库连接,假设连接对象为conn 阅读全文

python3连接使用sqlite3

2013-07-30 16:36 by 江湖么名, 3206 阅读, 收藏,
摘要: 一直比较喜欢sqlite,业余爱好不需要大型数据库,原来在windows下最常用的就是access,使用很方便,但是linux下没法用,后 来从php+sqlite2开始使用,编程时间很少,代码量很小所以不是很熟悉。现在又开始学python(汗一个先,我都不知道这是第几次开始 了,^_^,没怎么能坚持,所以依然还是学基础),首选sqlite3.在python中连接使用sqlite3非常方便,需要载入sqlite3模块就能使用了 1 import sqlite3 2 #建立连接 3 conn = sqlite3.connect('/tmp/example') 4 5 #建立了连接 阅读全文

python数据库编程_sqlite

2013-07-30 16:34 by 江湖么名, 2599 阅读, 收藏,
摘要: 原文请看:http://blog.csdn.net/jj_liuxin/article/details/3584448sqlite是一个轻量级的数据库,与很多大型的数据库(例如DB2,Oracle,MSSQL,MYSQL,PostgreSQL)相比,它不需要一个 Server Process,因此更相像于其他的小型数据库,例如Access,而且事实上,它的作用很类似于Access,不过由于缺乏商业支持,没有像 Access一样提供丰富的界面组件,相信如果需要的话,其实不是很难做的。 前面也用到过sqlite,例如在对pickle模块的学习,以及我所写的下载糗事百科的程序中都大量的使用到了sql 阅读全文

python socket 超时设置 errno10054

2013-07-30 13:38 by 江湖么名, 21559 阅读, 收藏,
摘要: 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 实现腾讯新闻抓取

2013-07-30 08:42 by 江湖么名, 478 阅读, 收藏,
摘要: 原文地址:http://www.cnblogs.com/rails3/archive/2012/08/14/2636780.htm思路:1.抓取腾讯新闻列表页面: http://news.qq.com/2.提取详细页面的url:http://news.qq.com/a/20120814/000070.htm 3.在详细页中提取新闻标题和内容4.去除提取内容中的html标签,生成txt文档 代码: 1 #coding=utf-8 2 import sys 3 import urllib2 4 import re 5 import os 6 7 def extract_url(info): 8 . 阅读全文

常用正则表达式大全!(例如:匹配中文、匹配html)

2013-07-29 22:26 by 江湖么名, 254 阅读, 收藏,
摘要: 常用正则表达式大全!(例如:匹配中文、匹配html)匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:ns*r 评注:可以用来删除空白行 匹配HTML标记的正则表达式:]*>.*?| 评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力 匹配首尾空白字符的正则表达式:^s*|s*$ 评注:可以用来删除行首行尾的空... 阅读全文

Python中的锁

2013-07-29 17:29 by 江湖么名, 5639 阅读, 收藏,
摘要: 先用thread模块的Lock锁来实现生产者消费者问题,Lock对象是Python提供的低级线程控制工具,使用起来非常简单,只需下面3条语句即可:thread.allocate_lock()返回一个新Lock对象,即为一个新锁lock.acquire()相当于P操作,得到一个锁lock.release()相当于V操作,释放一个锁lock.locked()已经得到了锁,返回True(一般用不到) 1 import thread,time,random 2 dish = 0 #需要放在安全区的变量 3 lock = thread.allocate_lock () 4 def producerF.. 阅读全文

python毫秒级sleep

2013-07-29 16:27 by 江湖么名, 119434 阅读, 收藏,
摘要: Python中的sleep函数可以传小数进去,然后就可以进行毫秒级的延时了 1 # 例1:循环输出休眠1秒 2 import time 3 i = 1 4 while i = 3: 5 print i # 输出i 6 i += 1 7 time.sleep(1) # 休眠1秒 8 9 # 例1:循环输出休眠100毫秒10 import time11 i = 112 while i = 3:13 print i # 输出i14 i += 115 time.sleep(0.1) # 休眠0.1秒 阅读全文

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

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

Python验证Url地址的正则表达式

2013-07-29 08:36 by 江湖么名, 10322 阅读, 收藏,
摘要: 如下是django中做url验证的正则表达式:1 regex = re.compile(2 r'^(?:http|ftp)s?://' # http:// or https://3 r'(?:(?:[A-Z0-9](?:[A-Z0-9-]{0,61}[A-Z0-9])?\.)+(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)|' #domain...4 r'localhost|' #localhost...5 r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})' # ...or ip6 阅读全文

python怎么解压压缩的字符串数据

2013-07-28 18:22 by 江湖么名, 13079 阅读, 收藏,
摘要: 范例1: gzipimport StringIOimport gzipcompresseddata = gzip方式压缩的字符串(html)compressedstream = StringIO.StringIO(compresseddata)gzipper = gzip.GzipFile(fileobj=compressedstream)data = gzipper.read() # data就是解压后的数据一个简单的例子 1 import urllib2 2 from StringIO import StringIO 3 import gzip 4 5 def loadData(url.. 阅读全文

python全局变量被覆盖的问题

2013-07-28 13:06 by 江湖么名, 1441 阅读, 收藏,
摘要: 下面的情况,foo全局变量会被局部变量覆盖掉,这样在其它地方使用的值就是空值。 1 g_foo = '' #全局变量 2 3 def set(): 4 g_foo = 'abc' # 给全局变量赋值 5 6 def use_var() 7 print g_foo # 使用全局变量,这里会打印 None 8 9 set()10 use_var()使用全局变量,需要明确的声明(global) 1 g_foo = '' #全局变量 2 3 def set(): 4 global g_foo 5 g_foo = 'abc' # 给全局变量 阅读全文

PyInstaller:把你的Python转为Exe

2013-07-28 12:33 by 江湖么名, 1267 阅读, 收藏,
摘要: 把Python程序转为可执行的EXE文件,之前已经介绍过,像py2exe,bbfreeze。 以我自己使用的经历来看,这两款都还不错,比较适合简单的Python程序,如果你加载的第三方类库比较多的话,不仅体积大,而且可能打包之后还是无法执 行。而且有的打包之后,执行时不是单个窗口,有一个类似Console的黑框框(听说可以取消,但不知道如何配置)。之前写过一个画宝宝身高和体重趋势的 Python程序,一直想把它打包,但无奈,这两款软件都没能成功。今天搜索一番,发现还有一个工具,当然不止一个啦,StackOverFlow里面讨论中,比较推荐PyInstaller, 而且让我意外的是,PyInst 阅读全文

用python正则表达式提取网页的url

2013-07-28 12:32 by 江湖么名, 4902 阅读, 收藏,
摘要: 1 import re 2 import urllib 3 url="http://www.itokit.com" 4 s=urllib.urlopen(url).read() 5 ss=s.replace(" ","") 6 urls=re.findall(r"",ss,re.I) 7 for i in urls: 8 print i 9 else:10 print 'this is over'挺好用的,记录下 阅读全文

python模块之HTMLParser

2013-07-28 12:31 by 江湖么名, 519 阅读, 收藏,
摘要: HTMLParser是python用来解析html的模块。它可以分析出html里面的标签、数据等等,是一种处理html的简便途径。 HTMLParser采用的是一种事件驱动的模式,当HTMLParser找到一个特定的标记时,它会去调用一个用户定义的函数,以此来通知程序处理。它 主要的用户回调函数的命名都是以handler_开头的,都是HTMLParser的成员函数。当我们使用时,就从HTMLParser派生出新的类,然 后重新定义这几个以handler_开头的函数即可。这几个函数包括:handle_startendtag 处理开始标签和结束标签handle_starttag 处理开始标签,比. 阅读全文

python urllib2模块

2013-07-28 12:29 by 江湖么名, 522 阅读, 收藏,
摘要: 本文转载自:Tinoweb的“ python urllib2模块”简介:urllib2是python的一个获取url(Uniform Resource Locators,统一资源定址器)的模块。它用urlopen函数的形式提供了一个非常简洁的接口。这使得用各种各样的协议获取url成为可能。它同时 也提供了一个稍微复杂的接口来处理常见的状况-如基本的认证,cookies,代理,等等。这些都是由叫做opener和handler的对象来处理的。以下是获取url最简单的方式:1 import urllib22 response = urllib2.urlopen('http://python. 阅读全文

Python:使用正则去除HTML标签(转)

2013-07-28 12:22 by 江湖么名, 16393 阅读, 收藏,
摘要: 利用正则式处理,不知道会不会有性能问题,没有经过太多测试。目前我有很多还是使用BeautifulSoup进行这种处理。HTML实体处理的只是用于处理一些常用的实体。 1 # -*- coding: utf-8-*- 2 import re 3 ##过滤HTML中的标签 4 #将HTML中标签等信息去掉 5 #@param htmlstr HTML字符串. 6 def filter_tags(htmlstr): 7 #先过滤CDATA 8 re_cdata=re.compile('//]*//\]\]>',re.I) #匹配CDATA 9 re_script=re.comp 阅读全文

Python和xml简介

2013-07-28 12:19 by 江湖么名, 479 阅读, 收藏,
摘要: python提供越来越多的技术来支持xml,本文旨在面向初学利用Python处理xml的读者,以教程的形式介绍一些基本的xml出来概念。前提是读者必须知道一些xml常用术语。先决条件本文所有的例子基于Python2.6.5,pyxml的最新版本为0.8.1, 该教程中的例子都需要导入minidom模块,所以在py文件中需要加入以下类似代码:?1import xml.dom.minidom当然,你也可以从minidom模块中只导入你需要的类。你可以使用以下代码来查看该模块的内容:?1dir(xml.dom.minidom)创建XML 文件首先,正如前面所说的,导入minidom模块:?1impo 阅读全文

用Python创建XML(转)

2013-07-28 12:18 by 江湖么名, 307 阅读, 收藏,
摘要: 在官方网站没有找到多少有用的知识。结果在Python and XML: An Introduction找到了一篇教程,抽空对照做,然后再总结分享出来。先来一个简单的: 1 from xml.dom.minidom import Document 2 3 # Create the minidom document 4 doc = Document() 5 6 # Create the base element 7 wml = doc.createElement("wml") 8 doc.appendChild(wml) 9 10 # Create the main eleme 阅读全文

python中文转换url编码

2013-07-28 12:15 by 江湖么名, 373 阅读, 收藏,
摘要: 今天要处理百度贴吧的东西。想要做一个关键词的list,每次需要时,直接添加 到list里面就可以了。但是添加到list里面是中文的情况(比如‘丽江’),url的地址编码却是’%E4%B8%BD%E6%B1%9F’,因此需 要做一个转换。这里我们就用到了模块urllib。>>> import urllib>>> data = ‘丽江’>>> print data丽江>>> data‘\xe4\xb8\xbd\xe6\xb1\x9f’>>> urllib.quote(data)‘%E4%B8%BD%E6%B1 阅读全文

Python如何下载文件

2013-07-28 12:10 by 江湖么名, 2967 阅读, 收藏,
摘要: 利用程序自己编写下载文件挺有意思的。Python中最流行的方法就是通过Http利用urllib或者urllib2模块。当然你也可以利用ftplib从ftp站点下载文件。此外Python还提供了另外一种方法requests。来看看三种方法是如何来下载zip文件的: 1 import urllib 2 import urllib2 3 import requests 4 5 url = 'http://www.blog.pythonlibrary.org/wp-content/uploads/2012/06/wxDbViewer.zip' 6 7 print "downl 阅读全文

Python中is和==的区别

2013-07-28 11:52 by 江湖么名, 405 阅读, 收藏,
摘要: 通常我们写:1 if foo is None: pass这个写法与以下的写法有何区别呢?1 if foo == None: passis当比较的是相同的对象实例时总是返回True。而==则完全决定于__eq__()方法的实现。例如:1 >>> class foo(object):2 def __eq__(self, other):3 return True4 5 >>> f = foo()6 >>> f == None7 True8 >>> f is None9 FalsePython中的对象包含三要素:id、type、v 阅读全文

python 正则表达式匹配中文(转)

2013-07-27 23:40 by 江湖么名, 3749 阅读, 收藏,
摘要: 网上的一篇文章,做了整理,作者已无从考证,谢谢了 1 s=""" 2 en: Regular expression is a powerful tool for manipulating text. 3 zh: 中文 4 jp: 正規表現は非常に役に立つツールテキストを操作することです。 5 jp-char: あアいイうウえエおオ 6 kr:정규 표현식은 매우 유용한 도구 텍스트를 조작하는 것입니다. 7 puc: 。?!、,;:“ ”‘ '——……·-·《》〈〉!¥%&*# 8 """ 9 prin 阅读全文

python正则的中文处理(转)

2013-07-27 23:27 by 江湖么名, 6169 阅读, 收藏,
摘要: 匹配中文时,正则表达式规则和目标字串的编码格式必须相同 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 阅读全文

正则表达式-汉字的匹配方法

2013-07-27 23:26 by 江湖么名, 2929 阅读, 收藏,
摘要: unicode : ([\u4e00-\u9fa5]+)unicode : ([\u2E80-\u9FFF]+)utf-8 : ([\x80-\xff]+) 1 #encoding:utf-8 2 import re 3 4 5 6 def main(): 7 8 # ([\u4e00-\u9fa5]+) 9 TEST_STR_1 = u'ab123kk123'10 pattern_str = u'[0-9]+([\u4e00-\u9fa5]+)[0-9]+'11 pattern = re.compile (pattern_str)1... 阅读全文

python 正则匹配中文(unicode)(转)

2013-07-27 23:04 by 江湖么名, 21266 阅读, 收藏,
摘要: 由于 需求原因,需要匹配 提取中文,大量google下,并没有我需要的。花了一个小时大概测试,此utf8中文通过,特留文。 参考: http://hi.baidu.com/nivrrex/blog/item/e6ccaf511d0926888d543071.html http://topic.csdn.net/u/20070404/15/b011aa83-f9b7-43b3-bbff-bfe4f653df03.html 首先,确保所有编码都为 unicode 比如 str.decode('utf8') #从utf8文本中 u"啊l" #在控制台输出中 (罗嗦 阅读全文

Notepad++ 快捷键 大全

2013-07-26 15:34 by 江湖么名, 195 阅读, 收藏,
摘要: Notepad++ 快捷键 大全Ctrl+C 复制Ctrl+X 剪切Ctrl+V 粘贴Ctrl+Z 撤消Ctrl+Y 恢复Ctrl+A 全选Ctrl+F 键查找对话框启动Ctrl+H 查找/替换对话框Ctrl+D 复制并粘贴当行Ctrl+L 删除当前行Ctrl+T 当行向上移动一行F3 查找下一个Shift+F3 查找上一个Ctrl+Shift+F 组合在文件中查找Ctrl+F3 查找(volatil)下一页Ctrl+Shift+F3 查找(volatil)上一页Ctrl+Shift+I 组合增量搜索Ctrl+S 保存文件Ctrl+Alt+S 另存为Ctrl+Shift+S 保存所有文件Ctr 阅读全文

gvim 编辑器配置

2013-07-26 13:20 by 江湖么名, 344 阅读, 收藏,
摘要: "关才兼容模式setnocompatible"模仿快捷键,如:ctrt+A全选、Ctrl+C复制、Ctrl+V粘贴等source$VIMRUNTIME/vimrc_example.vimsource$VIMRUNTIME/mswin.vimbehavemswin"gvim字体设置setguifont=新宋体:h14:cGB2312"gvim内部编码setencoding=utf-8"当前编辑的文件编码setfileencoding=utf-8"gvim打开支持编码的文件setfileencodings=ucs-bom,utf-8,gb 阅读全文

gvim代码补全

2013-07-26 13:13 by 江湖么名, 1590 阅读, 收藏,
摘要: gvim代码自动提示插件插件名:AutoComplPop下载地址:http://www.vim.org/scripts/script.php?script_id=1879gvim代码模板补全插件插件名:snipMate下载地址:http://www.vim.org/scripts/script.php?script_id=2540通过vim字典补全,实现php函数名自动补全字典到网上搜索下载将下面内容加入.vimrc文件中即可auFileTypephpcallAddPHPFuncList()functionAddPHPFuncList()setdictionary-=$VIM/vimfiles 阅读全文

UNICODE,GBK,UTF-8区别

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

python中,将字符串由utf8转gbk

2013-07-26 01:46 by 江湖么名, 970 阅读, 收藏,
摘要: uni_str = utf8_str.decode('utf-8');gbk_str = uni_str.encode('gbk'); 阅读全文

str 编码

2013-07-26 00:00 by 江湖么名, 289 阅读, 收藏,
摘要: 你需要的是让编码用实际编码而不是 ascii1对需要 str->unicode 的代码,可以在前边写上import sysreload(sys)sys.setdefaultencoding('utf8')把 str 编码由 ascii 改为 utf8 (或 gb18030)2.python3 区分了 unicode str 和 byte arrary,并且默认编码不再是 ascii3. 字符串转为unicode判断是不是unicode : isinstance (in_str, unicode) 是返回Trueuni_str = unicode(in_str," 阅读全文

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

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

Python字符编码详解

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

Eclipse+PyDev

2013-07-25 10:12 by 江湖么名, 196 阅读, 收藏,
摘要: Eclipse+PyDevsudo apt-get install openjdk-6-jdksudo apt-get install eclipseHelp-->Install New Software-->Add-->Name:PyDev-->Location:http://pydev.org/updatesPyDev-->PyDev for EclipsePreference-->PyDev-->Interpreter-->Interpreter Name:Python-->Interpreter Executable:/usr/bi 阅读全文

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

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

Python2.5/2.6实用教程:基础篇(转)

2013-07-24 20:09 by 江湖么名, 508 阅读, 收藏,
摘要: 介绍本文方便有经验的程序员进入Python世界.本文适用于python2.5/2.6版本.Deparecated:Python3 和 python2.x语法不同.如果你正在用python3,请参考新教程:http://www.cnitblog.com/yunshichen/archive/2009/04/01/55924.html起步走#!/usr/bin/pythona=2b=3c="test"c=a+bprint"executionresult:%i"%c知识点Python是动态语言,变量不须预先声明.打印语句采用C风格字符串和数字但有趣的是,在ja 阅读全文

Python 读写 Excel(转)

2013-07-24 20:08 by 江湖么名, 279 阅读, 收藏,
摘要: Python 读写 Excel基本上, 这个网页已经说明一切了: http://pypi.python.org/pypi/xlrd等有时间再把这个页面写漂亮,现在先记一些代码.读Excel先建个simple.xlsfromxlrdimportopen_workbookwb=open_workbook('simple.xls','rb')forsinwb.sheets():print'Sheet:',s.nameforrowinrange(s.nrows):values=[]forcolinrange(s.ncols):values.append( 阅读全文

python实用技巧 : Filtering os.walk(转)

2013-07-24 20:07 by 江湖么名, 947 阅读, 收藏,
摘要: ''' CreatedonMar7,2010@author:Diego需求: 得到某个目录下, 符合过滤条件的文件夹/文件.实现: 将os.walk再次包装.TODO: 不知道本程序的做法, 和传统的逐个目录列举的方法, 哪个效率更高. 待测试. ''' import os import os.pathos.path.sep = " / " path = " /media/dev/project/google_codes/srgjs... 阅读全文

Python:文件操作技巧(File operation)(转)

2013-07-24 19:55 by 江湖么名, 439 阅读, 收藏,
摘要: Python:文件操作技巧(File operation) 读写文件 # !/usr/bin/python # -*-coding:utf8-*- spath = " D:/download/baa.txt " f = open(spath, " w " ) # Opensfileforwriting.Createsthisfiledoesn'texist. f.w... 阅读全文

python 文件路径操作方法(转)

2013-07-24 19:52 by 江湖么名, 14375 阅读, 收藏,
摘要: Python编程语言在实际使用中可以帮助我们轻松的实现一些特殊的功能需求。在这里我们将会为大家详细介绍一下有关Python文件路径的相关操作技巧,从而方便我们在实际开发中获得一些帮助。Python文件路径操作方法之1: os.listdir(path) //path为目录功能相当于在path目录下执行dir命令,返回为list类型。举例:print os.listdir(’..’)输出:[a,b,c,d] Python文件路径操作方法之2: os.path.walk(path,visit,arg)path :是将要遍历的目录visit :是一个函数指针,函数圆形为:callback(arg,d 阅读全文

python入门

2013-07-24 16:46 by 江湖么名, 269 阅读, 收藏,
摘要: python脚本默认py结尾#encoding:utf-8# 从#开始到本行结束都是注释print "hello world"print "number is %d, string is %s" % ( 10, "demo")# len(obj)返回对象长度# int(obj)对象转换为整形# str(obj)对象转换为字符串# type(obj)对象的类型(返回type对象)#用户输入name = raw_input ( 'please enter name:')print "you enter is &q 阅读全文

SyntaxError: Non-ASCII character '\xe7' in file 错误的解决方法

2013-07-24 14:40 by 江湖么名, 505 阅读, 收藏,
摘要: 在代码开头写下面的定义即可#encoding:utf-8 阅读全文

Notepad++ 16进制编辑功能

2013-07-19 18:52 by 江湖么名, 847 阅读, 收藏,
摘要: Notepad++可以编辑PE文件(二进制文件即HEX码),2进制、16进制都可以,通过附加的组件HexEditor即可实现。另外一款Notepad++自带插件TextFX也有这个功能,但实现效果不如Hex Editor。Hex Editor实现Notepad++16进制编辑功能Hex Editor使用说明 解压缩后把HexEditor.dll文件复制到安装目录(如C:\Program Files\Notepad++\plugins),退出NotePad++重新打开即可!需要以十六进制显示时,点击菜单的:【插件】-【Hex-Editor】-【View in Hex】即可。Hex Editor下 阅读全文

执行程序(例如UltraEdit)在WIN7下添加到右键菜单

2013-07-19 18:06 by 江湖么名, 306 阅读, 收藏,
摘要: 把下面提供的代码复制到记事本,保存为注册表文件(*.reg),右键合并即可。注意把最后一行换成你自己的路径。Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell] [HKEY_CLASSES_ROOT\*\shell\UltraEdit] @="UltraEdit-32" [HKEY_CLASSES_ROOT\*\shell\UltraEdit\Command] @="F:\\soft\\UltraEdit-32\\Uedit32.ex... 阅读全文

std::string 字符串大小写转换(转)

2013-07-19 11:06 by 江湖么名, 5861 阅读, 收藏,
摘要: 该问题归结为std::transform函数的使用函数原型template OutputIterator transform ( InputIterator first1, InputIterator last1, OutputIterator result, UnaryOperator op );template OutputIterator transform ( InputIterator1 first1, InputIterator1 last1, InputIter... 阅读全文

Mathematica作图

2013-07-17 18:53 by 江湖么名, 3000 阅读, 收藏,
摘要: 第2讲 在Mathematica中作图 一个较强的符号计算系统均有很好的绘图功能,Mathematica也不例外,Mathematica 拥有非常强大的绘图功能。并且提供了一大批基本数学函数的图形,利用这些提供的函数,用户可以方便地组合成所需要的、复杂的函数图形,所有这些都使得 Mathematica系统在处理和解决数学问题和一般的计算问题中表现得非常突出。2.1 基本图形与图形处理的原理首先画出一个周期正弦函数sin(x)的图象:In[1]:=Plot[Sin[x],{x, 0, 2Pi}]Out[1]=-Graphics-其次画一个含有奇异点的函数曲线,Mathematica会选取适当的比 阅读全文

编写高效代码(大话处理器)

2013-07-16 15:25 by 江湖么名, 1066 阅读, 收藏,
摘要: 一、软件效率 软件性能剖析工具分析每个函数(有的工具能分析到每个循环)的执行时间。性能剖析软件:IBM(Rational Quantify)、Intel(VTune)、AMD(CodeAnalyst),DSP集成环境自带。 二、减少指令数 1. 使用更快的算法 快排,FFT算法 2. 选用合适的指令 3. 降低数据精度 4. 减少函数调用 a. 将小函数直接写成语句; b. 将小函数写成宏; c. 将函数声明为内联函数; 5. 空间交换时间 将中间结果保存(Google等搜索引擎算法) 6. 减少过保护 性能实在吃紧时,可以去掉冗余功能(函数参数检查... 阅读全文

关于make: *** No rule to make target `clean'. Stop.这个莫名其妙问题的解决方法

2013-07-15 17:33 by 江湖么名, 94237 阅读, 收藏,
摘要: 执行make编译命令总报错,后来试试make clean命令也不行,报下面的错。make: *** No rule to make target `clean'. Stop.真是莫名其妙的错误,查看makefile内容怎么看怎么对,但就是出现这个错误。上网查看解决办法一堆都说是makefile配置错误,还有各种莫名其妙的解决方法,搞得越来越晕,不知道他们怎么想的,郁闷。现在发现是我对makefile的使用规则不了解导致的。 解决办法如下:我的makefile文件的名字是 makefile.mk 所以我就输入以下命令 #make-fmakefile.mk clean 这样就可以了。。。注 阅读全文
点击右上角即可分享
微信分享提示