随笔分类 -  python

1
摘要:Queue模块解决了生产者、消费者问题,在多线程编程中进行线程通信的时候尤其有用,Queue类封装了加锁解锁的过程。 在Queue模块中有三种不同的队列类,区别是不同队列取出数据的顺序不同。在FIFO队列中,先存进去的数据最先取出来。而在LIFO队列中,最后存进去的数据最取出来。在加权队列... 阅读全文
posted @ 2015-10-11 16:59 楚狂人阿飞 阅读(965) 评论(0) 推荐(0) 编辑
摘要:通过dict.viewkkeys(),dict.viewvalues()以及dict.viewitems()的对象称之为视图对象。它们提供了字典对象的一个动态视图,也就是说当字典中内容改变的时候,视图也跟着改变。 字典视图对象可以迭代获取其中的数据。 len(dictview) 返... 阅读全文
posted @ 2015-10-11 10:08 楚狂人阿飞 阅读(439) 评论(0) 推荐(0) 编辑
摘要:在python中对列表使用重复运算符*进行操作时,只是简单的进行了浅复制,内部的结构并没有复制过来,所以下面的例子结果是这样的:>>> lists =[[]]*3>>> lists[[],[],[]]>>> lists[0].append(3)>>> lists[[3],[3],[3]] ... 阅读全文
posted @ 2015-10-11 09:54 楚狂人阿飞 阅读(180) 评论(0) 推荐(0) 编辑
摘要:1.行编辑 如果支持,在交互式命令输入中,当前行可以使用以下的快捷键进行编辑: Ctrl+A:将光标移动到行开始位置 Ctrl+E:将光标移动到行结束位置 Ctrl+B:将光标往左移动一个位置 Ctrl+F:将光标往右移动一个位置 Backspace擦除光标左边的一个字符 ... 阅读全文
posted @ 2015-10-10 08:05 楚狂人阿飞 阅读(380) 评论(0) 推荐(0) 编辑
摘要:string模块中包含了一个很有用的Template类,可以先写好字符串模板,后期使用的时候直接替换就可以了。 模板中使用$作为占位符前缀,使用{}包裹占位符以支持间断的标量名,使用$$转义$。例如:1 >>>from string importTemplate2 >>> t =Templ... 阅读全文
posted @ 2015-10-09 19:33 楚狂人阿飞 阅读(244) 评论(0) 推荐(0) 编辑
摘要:textwrap模块提供了两个函数wrap()和fill(),以及TextWrapper类,以及另外一个工具函数dedent()。 wrap()以及fill()都可以用来格式化一大段文本,将指定文本限制在一定的屏幕宽度。例如 1 >>> import textwrap 2 >>> doc ... 阅读全文
posted @ 2015-10-09 19:14 楚狂人阿飞 阅读(417) 评论(0) 推荐(0) 编辑
摘要:一种编写高质量软件的方式是给代码中每个函数写测试,在开发过程中经常性的进行测试。 doctest模块可以在docstring中嵌套测试代码。例如:def average(values): """Computes the arithmetic mean of a list of numbe... 阅读全文
posted @ 2015-10-09 18:53 楚狂人阿飞 阅读(258) 评论(0) 推荐(0) 编辑
摘要:rlcomplete定义了针对readline模块的命令自动补全函数。 当在unix平台下导入这个模块之后(前提是readline模块可用),一个Complete的实例会自动生成,并且它的complete()方法会被设置为readline的自动补全函数。 例如:>>>import rl... 阅读全文
posted @ 2015-10-09 07:42 楚狂人阿飞 阅读(475) 评论(0) 推荐(0) 编辑
摘要:getpass模块用于命令行输入密码,它提供了两个函数。 getpass.getpass([prompt[, stream]]) 提示用户输入密码,同时不显示输入的密码信息,默认提示信息为‘Password:'。如果不能隐藏输入的密码,将抛出GetPassWarning异常。返回密码信息。 getpass.getuser() ... 阅读全文
posted @ 2015-10-09 07:41 楚狂人阿飞 阅读(267) 评论(0) 推荐(0) 编辑
摘要:当启动python交互模式的时候,可能需要执行一些初始化操作,如果每次都手动执行,会比较麻烦,这时可以将这些命令保存在一个文件中,将环境变量PYTHONSTARTUP的值设置为这个文件的路径名。export PYTHONSTARTUP=/home/pySets.py 只有在交互模式中,... 阅读全文
posted @ 2015-10-09 07:35 楚狂人阿飞 阅读(138) 评论(0) 推荐(0) 编辑
摘要:pprint模块提供了打印任意python数据结构的方法,如果这个数据结构不是python的基本类型,则可能无法打印结果。 pprint模块定义了一个类: pprint.PrettyPrinter(...) 构造一个PrettyPrinter实例,通过stream参数设置输出流,默认为... 阅读全文
posted @ 2015-09-26 22:14 楚狂人阿飞 阅读(1117) 评论(0) 推荐(0) 编辑
摘要:subprocess模块允许你生成子进程,连接管道,并获取返回的代码。 一.使用subprocess模块 模块中定义了一个Popen类: subprocess.Popen(args, bufsize=0, executable=None, stdin=None, stdout=None, ... 阅读全文
posted @ 2015-09-26 22:14 楚狂人阿飞 阅读(521) 评论(0) 推荐(0) 编辑
摘要:atexit模块很简单,只定义了一个register函数用于注册程序退出时的回调函数,我们可以在回调函数中做一些资源清理的操作。 注意回调函数只有正常退出的时候才会调用,如果程序是被信号杀死或者因为严重错误导致退出,或者使用os._exit()退出程序的时候,回调函数不会调用。 我们也可以... 阅读全文
posted @ 2015-09-26 22:13 楚狂人阿飞 阅读(562) 评论(0) 推荐(0) 编辑
摘要:readline模块定义了一系列函数用来读写Python解释器中历史命令,并提供自动补全命令功能。这个模块可以通过relcompleter模块直接调用,模块中的设置会影响解释器中的交互提示,以及内置函数raw_input()和input()提供的提示。 readline模块定义了以下方法:... 阅读全文
posted @ 2015-09-26 22:05 楚狂人阿飞 阅读(2980) 评论(0) 推荐(0) 编辑
摘要:上一节,我们讲解了ArgumentParser对象,这一节我们将学习这个对象的add_argument()方法。 add_argument()方法的定义了如何解析一个命令行参数,每个参数都有各自独立的设置参数。 1.name or flags add_argument()必须知道参数是可选... 阅读全文
posted @ 2015-09-26 21:56 楚狂人阿飞 阅读(1014) 评论(0) 推荐(0) 编辑
摘要:上一节我们学习了parse_args()的用法,这一节,我们将继续学习argparse的其他一些用法。 1.sub-commands子命令 argparser支持类似svn的子命令,通过add_subparsers()可以实现,这个方法不需要任何参数,并返回一个特殊的action对象,这个对... 阅读全文
posted @ 2015-09-23 23:45 楚狂人阿飞 阅读(2344) 评论(0) 推荐(0) 编辑
摘要:上一节我们讲解了add_argument()方法,这一节我们将学习parse_args()方法。 parse_args()方法的作用是解析命令行参数,并返回解析之后的命名空间。默认的,参数从sys.argv中获取。 1.参数值语法 parse_args()支持多种语法来解析参数,最简单的方式... 阅读全文
posted @ 2015-09-23 23:37 楚狂人阿飞 阅读(946) 评论(0) 推荐(0) 编辑
摘要:上一节,我们简要的介绍了argparse的用法,接下来几节,将详细讲解其中的参数及用法,这一节我们讲解ArgumentParser对象。 argparse.ArgumentParser([description][,epilog][,prog][,usage][,add_help][,... 阅读全文
posted @ 2015-09-21 19:18 楚狂人阿飞 阅读(1082) 评论(0) 推荐(1) 编辑
摘要:argpaser是python中很好用的一个命令行解析模块,使用它我们可以很方便的创建用户友好型命令行程序。而且argparse会自动生成帮助信息和错误信息。一、示例 例如下面的例子,从命令行中获取几个整数,然后获取它们的和或者最大值。import argparseparser = argpa... 阅读全文
posted @ 2015-09-21 19:08 楚狂人阿飞 阅读(707) 评论(0) 推荐(0) 编辑
摘要:最近要使用django进行项目开发,需要使用mysql-python模块。在本地搭建环境安装的时候却出现报错,Unable to find vcvarsall.bat在网上找了很多资料,发现是window平台本身不带编译系统,而安装mysql-python需要进行编译。网上给出的办法是,安装vs20... 阅读全文
posted @ 2015-06-24 19:58 楚狂人阿飞 阅读(5590) 评论(1) 推荐(1) 编辑

1
点击右上角即可分享
微信分享提示