本文介绍了使用Python来扫描指定目录下的文件,或者匹配指定后缀和前缀的函数。步骤如下:如果要扫描指定目录下的文件,包括子目录,需要调用scan_files("/export/home/test/")如果要扫描指定目录下的特定后缀的文件(比如jar包),包括子目录,调用scan_files("/export/home/test/",postfix=".jar")如果要扫描指定目录下的特定前缀的文件(比如test_xxx.py),包括子目录,调用scan_
系统 2019-09-27 17:47:27 1921
在python中可以使用in符号判断指定的元素是否存在于列表中,但我发现元组和数组存在区别,下面是详细实验结果。>>>'jb51.net'in['haotu.net','jb51.net']True>>>'jb51.net'in('haotu.net','jb51.net')True>>>'jb51.net'in['jb51.net/codes','haotu.net']False>>>'jb51.net'in('jb51.net/codes','haot
系统 2019-09-27 17:47:15 1921
replace()方法返回当前old换成new,可选择的替代限制到最大数量的字符串的副本。语法以下是replace()方法的语法:str.replace(old,new[,max])参数old--这是要进行更换的旧子串。new--这是新的子串,将取代旧的子字符串。max--如果这个可选参数max值给出,仅第一计数出现被替换。返回值此方法返回字符串的拷贝与旧子串出现的所有被新的所取代。如果可选参数最大值给定,只有第一个计数发生替换。例子下面的示例演示了rep
系统 2019-09-27 17:47:10 1921
#!/usr/bin/envpython#coding=utf-8importosfrompyinotifyimportWatchManager,Notifier,ProcessEvent,IN_DELETE,IN_CREATE,IN_MODIFYwm=WatchManager()mask=IN_DELETE|IN_CREATE|IN_MODIFY#watchedeventsclassPFilePath(ProcessEvent):defprocess_I
系统 2019-09-27 17:46:53 1921
truncate()方法截断该文件的大小。如果可选的尺寸参数存在,该文件被截断(最多)的大小。大小默认为当前位置。当前文件位置不改变。注意,如果一个指定的大小超过了文件的当前大小,其结果是依赖于平台。注意:此方法不会在当文件工作在只读模式打开。语法以下是truncate()方法的语法:fileObject.truncate([size])参数size--如果可选参数存在,文件被截断(最多)的大小。返回值此方法不返回任何值。例子下面的例子显示truncate
系统 2019-09-27 17:46:23 1921
时隔已久,再次冒烟,自动化测试工作仍在继续,自动化测试中的数据驱动技术尤为重要,不然咋去实现数据分离呢,对吧,这里就简单介绍下与传统unittest自动化测试框架匹配的DDT数据驱动技术。话不多说,先撸一波源码,其实整体代码并不多#-*-coding:utf-8-*-#ThisfileisapartofDDT(https://github.com/txels/ddt)#Copyright2012-2015CarlesBarrobésandDDTcontri
系统 2019-09-27 17:46:08 1921
创建一个软件包(package)似乎已经足够简单了,也就是在文件目录下搜集一些模块,再加上一个__init__.py文件,对吧?我们很容易看出来,随着时间的推移,通过对软件包的越来越多的修改,一个设计很差的软件包可能会出现循环依赖问题,或是可能变得不可移植和不可靠。1.__init__.py仅为导入服务对于一个简单的软件包,你可能会忍不住把工具方法,工厂方法和异常处理都丢进__init__.py,千万别这样!一个结构良好的__init__.py文件,仅为一
系统 2019-09-27 17:45:42 1921
在Python2.5中,with关键字被加入。它将常用的try...except...finally...模式很方便的被复用。看一个最经典的例子:withopen('file.txt')asf:content=f.read()在这段代码中,无论with中的代码块在执行的过程中发生任何情况,文件最终都会被关闭。如果代码块在执行的过程中发生了一个异常,那么在这个异常被抛出前,程序会先将被打开的文件关闭。再看另外一个例子。在发起一个数据库事务请求的时候,经常会用
系统 2019-09-27 17:38:19 1921
前言任何应用都离不开数据,所以在学习python的时候,当然也要学习一个如何用python操作数据库了。MySQLdb就是python对mysql数据库操作的模块。今天写了个工具,目的是把csv中的数据插入到数据库中去。其中有一部分,是需要分别向两张表中插入两条数据,如果第二张表中的数据已经存在,那么第一张表中的数据也不需要插入。然后通过百度查找发现,其实MySQLdb库,自带了事务处理的功能,pymysql库也是一样。conn=MySQLdb.conne
系统 2019-09-27 17:38:06 1921
本文介绍了Python对于线程的支持,包括“学会”多线程编程需要掌握的基础以及Python两个线程标准库的完整介绍及使用示例。注意:本文基于Python2.4完成,;如果看到不明白的词汇请记得百度谷歌或维基,whatever。1.线程基础1.1.线程状态线程有5种状态,状态转换的过程如下图所示:1.2.线程同步(锁)多线程的优势在于可以同时运行多个任务(至少感觉起来是这样)。但是当线程需要共享数据时,可能存在数据不同步的问题。考虑这样一种情况:一个列表里所
系统 2019-09-27 17:38:03 1921