保证只能运行一个脚本实例,方法是程序运行时监听一个特定端口,如果失败则说明已经有实例在跑。使用装饰器实现,便于重用复制代码代码如下:importfunctoolsdefjust_one_instance(func):'''装饰器如果已经有实例在跑则退出复制代码代码如下::return:'''@functools.wraps(func)deff(*args,**kwargs):importsockettry:#全局属性,否则变量会在方法退出后被销毁globa
系统 2019-09-27 17:45:27 1790
字符串--不可改变的序列如同大多数高级编程语言一样,变长字符串是Python中的基本类型。Python在“后台”分配内存以保存字符串(或其它值),程序员不必为此操心。Python还有一些其它高级语言没有的字符串处理功能。在Python中,字符串是“不可改变的序列”。尽管不能“按位置”修改字符串(如字节组),但程序可以引用字符串的元素或子序列,就象使用任何序列一样。Python使用灵活的“分片”操作来引用子序列,字符片段的格式类似于电子表格中一定范围的行或列
系统 2019-09-27 17:38:37 1790
少劳多得Decorator与Python之前引入的元编程抽象有着某些共同之处:即使没有这些技术,您也一样可以实现它们所提供的功能。正如MicheleSimionato和我在可爱的Python专栏的早期文章中指出的那样,即使在Python1.5中,也可以实现Python类的创建,而不需要使用“元类”挂钩。Decorator根本上的平庸与之非常类似。Decorator所实现的功能就是修改紧接Decorator之后定义的函数和方法。这总是可能的,但这种功能主要是
系统 2019-09-27 17:38:33 1790
绝大多数情况下,遍历一个集合都是为了对元素应用某个动作或是进行筛选。如果看过本文的第二部分,你应该还记得有内建函数map和filter提供了这些功能,但Python仍然为这些操作提供了语言级的支持。(x+1forxinlst)#生成器表达式,返回迭代器。外部的括号可在用于参数时省略。[x+1forxinlst]#列表解析,返回list如你所见,生成器表达式和列表解析(注:这里的翻译有很多种,比如列表展开、列表推导等等,指的是同一个意思)的区别很小,所以人们
系统 2019-09-27 17:38:27 1790
最近开始学着用Python+Tornado+MongoDB写网站,兴起写了一个博客,觉得很有意思所以想挂在服务器上发布出去找大家一起玩。这个时候就遇到了问题。服务器是windows系统,安装的是Apache,所以需要配置Apache,使Apache同时支持PHP和Python。废话少说,提供有效方案一个,照做即可:1.修改httpd.conf文件将下列几个Module前的注释符#去掉LoadModuleproxy_modulemodules/mod_pro
系统 2019-09-27 17:38:20 1790
python语言的3.x完全不向前兼容,导致我们在python2.x中可以正常使用的库,到了python3就用不了了.比如说mysqldb1.安装pymysqlpymysql就是作为python3环境下mysqldb的替代物,进入命令行,使用pip安装pymysqlpipinstallpymysql32.使用pymysql在我们需要使用数据库的.py文件开头添加下面两行importpymysqlpymysql.install_as_MySQLdb()第一行
系统 2019-09-27 17:38:08 1790
以下函数列出某个目录下(包括子目录)所有文件,本随笔重点不在于递归函数的实现,这是一个很简单的递归,重点在于熟悉Python库os以及os.path一些函数的功能和用法。1.os.listdir(path):列出path下所有内容(包括文件和目录,不包括.和..)2.os.path.join(path1,path2,path3...):拼接目录,例如将'home','test'拼接成'home/test/'3.os.path.isdir(path):判断p
系统 2019-09-27 17:38:04 1790
本文介绍了Python对于线程的支持,包括“学会”多线程编程需要掌握的基础以及Python两个线程标准库的完整介绍及使用示例。注意:本文基于Python2.4完成,;如果看到不明白的词汇请记得百度谷歌或维基,whatever。1.线程基础1.1.线程状态线程有5种状态,状态转换的过程如下图所示:1.2.线程同步(锁)多线程的优势在于可以同时运行多个任务(至少感觉起来是这样)。但是当线程需要共享数据时,可能存在数据不同步的问题。考虑这样一种情况:一个列表里所
系统 2019-09-27 17:38:03 1790
Python语言简洁明了,可以用较少的代码实现同样的功能。这其中Python的四个内置数据类型功不可没,他们即是list,tuple,dict,set。这里对他们进行一个简明的总结。List字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List:L=[12,'China',19.998]可以看到并不要求元素的类型都是一样的。当然也可以定义一个空的List:L=[]Python中的List是有序的,所以要访问Lis
系统 2019-09-27 17:37:43 1790
目前python提供了几种多线程实现方式thread,threading,multithreading,其中thread模块比较底层,而threading模块是对thread做了一些包装,可以更加方便的被使用。面向对象技术简介类(Class):用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。数据成员
系统 2019-09-27 17:37:38 1790