分类目录归档:Python

python下载文件时显示下载进度的方法


本文实例讲述了python下载文件时显示下载进度的方法。分享给大家供大家参考。具体分析如下:

将这段代码放入你的脚本中,类似:urllib.urlretrieve(getFile, saveFile, reporthook=report)

第三个参数如下面的函数定义report,urlretrieve下载文件时会实时回调report函数,显示下载进度

def report(count, blockSize, totalSize):
  percent = int(count*blockSize*100/totalSize)
  sys.stdout.write("\r%d%%" % pe...

阅读全文...

python正则表达式中的括号匹配问题


问题:

m = re.findall('[0-9]4[0-9]', '[4]')
可以匹配到4.
m = re.findall('([0-9])4([0-9])', '[4]')
匹配不到4.
这是为什么呢?PS,这个是一个简化的说明,我要用的正则比这个复杂,所以要用到(),表示一个序列的匹配。
补充一点,我放在notepad++中用的时候,两种写法都能匹配出来,不知道为什么python中就不行了。

答案:

python的正则中用()会进行匹配,所以返回结果是['',''],就是两个()中的匹配。要想达到原来的匹配效果,就是把4匹配出来,有两种解决方法:

1.最外层加个大括号,变成:m ...

阅读全文...

把大数据数字口语化(python与js)两种实现


python

复制代码 代码如下:

def fn(num):
'''
把数字口语化
'''

ret = ''
num = int(num)
if num/10000 == 0:
ret = str(num)
else:
if num/108 == 0:
if num%10000 != 0:
ret = str(num/10000) + '万' + str(num % 10000)
else:
ret = str(num/10000) + '万'
else:
n2 = num%10
8
if n2%10000 != 0 and n2/10000 != 0:
ret = str(num/108...

阅读全文...

python执行get提交的方法


本文实例讲述了python执行get提交的方法。分享给大家供大家参考。具体如下:

import sys, urllib2, urllib
def addGETdata(url, data):
  """Adds data to url. Data should be a list 
  or tuple consisting of 2-item
  lists or tuples of the form: (key, value).
  Items that have no key should have key set to None.
  A given key may occur ...

阅读全文...

使用Python中的greenlet包实现并发编程的入门教程


1 动机

greenlet 包是 Stackless 的副产品,其将微线程称为 “tasklet” 。tasklet运行在伪并发中,使用channel进行同步数据交换。

一个”greenlet”,是一个更加原始的微线程的概念,但是没有调度,或者叫做协程。这在你需要控制你的代码时很有用。你可以自己构造微线程的 调度器;也可以使用”greenlet”实现高级的控制流。例如可以重新创建构造器;不同于Python的构造器,我们的构造器可以嵌套的调用函数,而被 嵌套的函数也可以 yield 一个值。(另外,你并不需要一个”yield”关键字,参考例子)。

Greenlet是作为一个C扩展模块给未修...

阅读全文...

python中的__slots__使用示例


正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。先定义class:

复制代码 代码如下:

class Staff(object):
... pass
...

然后,尝试给实例绑定一个属性:

复制代码 代码如下:

s = Staff()
s.name = 'jack'
print s.name
jack

还可以尝试给实例绑定一个方法:

复制代码 代码如下:

def set_age(self,age):
... self.age = age
...
from types import Meth...

阅读全文...

Python 创建子进程模块subprocess详解


最近,我们老大要我写一个守护者程序,对服务器进程进行守护。如果服务器不幸挂掉了,守护者能即时的重启应用程序。上网Google了一下,发现Python有很几个模块都可以创建进程。最终我选择使用subprocess模块,因为在Python手册中有这样一段话:

This module intends to replace several other, older modules and functions, such as: os.system、os.spawn、os.popen、popen2.、commands.

subprocess被用来替换一些老的模块和函数,如:os.system、os...

阅读全文...

9种python web 程序的部署方式小结


主流的web server 一个巴掌就能数出来,apache,lighttpd,nginx,iis

application,中文名叫做应用服务,就是你基于某个web framework写的应用代码DB server 泛指存储服务,web开发中用mysql比较多,最近几年因为网站规模扩大,memcache,redis这种key-value等存储也流行开来
放在最前面的 web server 有3个功能

高效率处理静态文件 ,web server都是用c开发,调用是native的函数,对IO,文件传输都做针对性的优化

充当一个简易的网络防火墙 ,可以denny一些ip,简单的控制并发连接数量...

阅读全文...

Python中使用strip()方法删除字符串中空格的教程


strip()方法返回所有字符从开始及字符串的末尾(默认空格字符)被去除后的字符串的一个副本。
语法

以下是strip()方法的语法:

str.strip([chars]);

参数

  • chars -- 字符-从开始或结束的字符串被删除去除。

返回值

此方法返回所有字符从开始及字符串的末尾(默认空格字符)被去除后的字符串的一个副本。
例子

下面的例子显示了strip()方法的使用。

#!/usr/bin/python

str = "0000000this is string example....wow!!!0000000";
print str.strip( '0' );

当我们运行...

阅读全文...

在Python中操作文件之truncate()方法的使用教程


truncate()方法截断该文件的大小。如果可选的尺寸参数存在,该文件被截断(最多)的大小。

大小默认为当前位置。当前文件位置不改变。注意,如果一个指定的大小超过了文件的当前大小,其结果是依赖于平台。

注意:此方法不会在当文件工作在只读模式打开。
语法

以下是truncate()方法的语法:

fileObject.truncate( [ size ])

参数

size -- 如果可选参数存在,文件被截断(最多)的大小。

返回值

此方法不返回任何值。
例子

下面的例子显示 truncate()方法的使用。

#!/usr/bin/python

# Open a file
fo = ope...

阅读全文...