上一页 1 2 3 4 5 6 ··· 9 下一页
摘要: 今天在用subprocess去执行问一个python脚本的时候,由于python脚本输出的内容很多,而subprocess的pipe的大小是有限制的,如果pipe的内容过多,将阻塞等待被读取,此时如果我使用wait()等待的话,将一直导致父进程阻塞,p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)p.wait()stdout, stderror = p.communicate()Popen.wait()等待子进程结束,设置并返回 returncode 属性。注意:如果子 阅读全文
posted @ 2013-06-04 14:50 GOD_YCA 阅读(3560) 评论(0) 推荐(0) 编辑
摘要: python的列表list可以用for循环进行遍历,实际开发中发现一个问题,就是遍历的时候删除会出错,例如l = [1,2,3,4]for i in l: if i != 4: l.remove(i)print l这几句话本来意图是想清空列表l,只留元素4,但是实际跑起来并不是那个结果。再看下面,利用index来遍历删除列表ll = [1, 2, 3, 4]for i in range(len(l)): if l[i] == 4: del l[i]print l这样没问题,可以遍历删除,但是列表l如果变为 l = [1,2,3,4,5]如果还是按照上面的方法,设想一下,range开始的范围.. 阅读全文
posted @ 2013-06-04 12:49 GOD_YCA 阅读(28508) 评论(2) 推荐(1) 编辑
摘要: PYTHONPATH是Python搜索路径,默认我们import的模块都会从PYTHONPATH里面寻找。 使用下面的代码可以打印PYTHONPATH:print(os.sys.path) 我的某个项目的PYTHONPATH如下:[ 'D:\\Python3\\workspace\\PythonLab\\src', 'D:\\aptana3\\plugins\\org.python.pydev_2.7.0.2012080220\\pysrc', 'D:\\Python3\\python33.zip', 'D:\\Python3\\DLLs 阅读全文
posted @ 2013-05-31 14:58 GOD_YCA 阅读(25590) 评论(0) 推荐(0) 编辑
摘要: 1.======是包括变量值与类型完全相等,而==只是比较两个数的值是否相等。比如:100==“100” 这里用==,因为它们的值相等,都是100,结果为真但是若用===,因为左边是一个整型而右边则是一个字符串类型的数,类型不相同所以结果为假。 阅读全文
posted @ 2013-05-29 20:17 GOD_YCA 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 1.select count(*) 与 select count(1)区别?原帖由yangfei080于 2008-5-8 14:19 发表我知道:select count(*)是统计表中所有记录个数而select count(1)是返回首行后者的效率比前者要高请问:达人们能够解释下两者oracle内部实现的区别?感谢!楼主理解错了,select count(1) 可不是返回首列行数其原理是对数字1进行统计,会将表中所有记录转化为1,然后再计数统计相当于先select 1 from table 然后count跟表结构有关系:如果表中没有主键,那么count(1)比count(*)快如果有主键, 阅读全文
posted @ 2013-05-29 16:06 GOD_YCA 阅读(351) 评论(0) 推荐(0) 编辑
摘要: Google perftools1、功能简介它的主要功能就是通过采样的方式,给程序中cpu的使用情况进行“画像”,通过它所输出的结果,我们可以对程序中各个函数(得到函数之间的调用关系)耗时情况一目了然。在对程序做性能优化的时候,这个是很重要的,先把最耗时的若干个操作优化好,程序的整体性能提升应该十分明显,这也是做性能优化的一个最为基本的原则—先优化最耗时的。2、安装1、下载gperftoolsWget https://code.google.com/p/gperftools/downloads/detail?name=gperftools-2.0.tar.gz2、tar –xzf gperft 阅读全文
posted @ 2013-05-28 19:39 GOD_YCA 阅读(27311) 评论(2) 推荐(2) 编辑
摘要: vi是Unix/Linux系统最常用的编辑器之一,我习惯使用":x"命令来保存文件并退出,不愿意使用":wq"命令是因为它得多敲一个字母。但是,今天我才知道":x"和":wq"的真正区别,如下::wq强制性写入文件并退出。即使文件没有被修改也强制写入,并更新文件的修改时间。:x写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间。这两者一般情况下没什么不一样,但是在编程方面,对编辑源文件可能会产生重要影响。因为文件即使没有修改,":wq"强制更新文件的修改时间,这 阅读全文
posted @ 2013-05-09 14:12 GOD_YCA 阅读(5782) 评论(2) 推荐(1) 编辑
摘要: 继承 继承是面向对象非常重要的思想,继承是两个类和多个类之间的父子关系,子进程继承了父进程的所有公有实例变量和方法。继承实现了代码重用,减少代码编写。 python在类名后用一对圆括号表示继承关系,括号中的类表示父类,如果父类定义了__init__方法,则子类必须显示地调用父类的__init__方法,如果子类需要扩展父类的行为,可以添加__init__方法的参数。 阅读全文
posted @ 2013-05-08 20:55 GOD_YCA 阅读(204) 评论(0) 推荐(0) 编辑
摘要: subprocess模块介绍 subprocess是python创建子进程的工具,其实和c中的fork出一个子进程,然后在子进程中运行exec执行另外一个进程很类似。 subprocess包中有很多方法创建子进程,这些函数创建子进程的行为不太一样,我们可以更具需求选择不同的方式来创建子进程。 使用subprocess包中的函数创建子进程的时候,要注意: 1) 在创建子进程之后,父进程是否暂停,并等待子进程运行。 2) 函数返回什么 3) 当returncode不为0时,父进程如何处理。subprecess.call() subprocess.call() 父进程等待子进程完成... 阅读全文
posted @ 2013-05-08 15:18 GOD_YCA 阅读(32812) 评论(0) 推荐(2) 编辑
摘要: array数组声明--var arr [10]int,array由[n]<type>定义。n表示数组大小,type表示数组类型声明且初始化--arr := [3]int{1,2,3}或者不写大小var arr := [...]int{1,2,3}或者var arr = [3]int{1,2,3},如果不写大小可以用三个点来表示,go会自动识别,var arr[3]int默认是初始化为0。ps:记住:=和=之间的区别,如果是:=不需要var,如果是=需要var二维数组初始化a := [2][2]int{ [2]int{1,2}, [2]int{3,4} },a := [2][2]in 阅读全文
posted @ 2013-05-07 16:42 GOD_YCA 阅读(433) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 9 下一页