当你打开一个.py文件时,经常会在代码的最下面看到if__name__=='__main__':,现在就来介绍一下它的作用.模块是对象,并且所有的模块都有一个内置属性__name__。一个模块的__name__的值取决于您如何应用模块。如果import一个模块,那么模块__name__的值通常为模块文件名,不带路径或者文件扩展名。但是您也可以像一个标准的程序样直接运行模块,在这种情况下,__name__的值将是一个特别缺省"__main__"。//////
系统 2019-09-27 17:45:26 1903
利用python自动生成dockernginx反向代理配置由于在测试环境上用docker部署了多个应用,而且他们的端口有的相同,有的又不相同,数量也比较多,在使用jenkins发版本的时候,不好配置,于是想要写一个脚本,能在docker容器创建、停止的时候,自动生成nginx反向代理,然后reloadnginx我的原则是尽量简单,轻量,内存占用少目标很明确,只要能监听到docker的容器启动/停止事件,即可网上查了一下可以用dockerevents来监听d
系统 2019-09-27 17:38:32 1903
CentOS6.5升级Python2.7版概要CentOS6.5中预安装了Python-2.6.6,其比较新的Python-2.7.9(CentOS7预装版本)主要区别在于新版本的Python导入了更丰富的模块功能。对于初学者而言这一般不会有太大的影响,相对而言这些新模块在某些特定的编译环境下却是不可或缺的。例如:使用Devstackall-in-one模式进行安装OpenStack开发调试平台,需要Python-2.7及以上的支持,这样可以省去很多缺失模
系统 2019-09-27 17:38:30 1903
如果直接对大文件对象调用read()方法,会导致不可预测的内存占用。好的方法是利用固定长度的缓冲区来不断读取文件内容。即通过yield。在用Python读一个两个多G的txt文本时,天真的直接用readlines方法,结果一运行内存就崩了。还好同事点拨了下,用yield方法,测试了下果然毫无压力。咎其原因,原来是readlines是把文本内容全部放于内存中,而yield则是类似于生成器。代码如下:defopen_txt(file_name):withope
系统 2019-09-27 17:38:24 1903
1.普通的参数传递>>>defadd(a,b):returna+b>>>printadd(1,2)3>>>printadd('abc','123')abc1232.参数个数可选,参数有默认值的传递>>>defmyjoin(string,sep='_'):returnsep.join(string)>>>myjoin('Test')'T_e_s_t'>>>myjoin('Test',';')'T;e;s;t'?>>>defmyrange(start=0,st
系统 2019-09-27 17:38:15 1903
今天用Python提取了Linux内核源代码的目录树结构,没有怎么写过脚本程序,我居然折腾了2个小时,先是如何枚举出给定目录下的所有文件和文件夹,os.walk可以实现列举,但是os.walk是只给出目录名和文件名,而没有绝对路径。使用os.path.listdir可以达到这个目的,然后是创建目录,由于当目录存在是会提示创建失败的错误,所以我先想删除所有目录,然后再创建,但是发现还是有问题,最好还是使用判断如果不存在才创建目录,存在时就不创建,贴下代码:#
系统 2019-09-27 17:38:11 1903
代码中经常会有变量是否为None的判断,有三种主要的写法:第一种是`ifxisNone`;第二种是`ifnotx:`;第三种是`ifnotxisNone`(这句这样理解更清晰`ifnot(xisNone)`)。如果你觉得这样写没啥区别,那么你可就要小心了,这里面有一个坑。先来看一下代码:>>>x=1>>>notxFalse>>>x=[1]>>>notxFalse>>>x=0>>>notxTrue>>>x=[0]#Youdon'twanttofallinth
系统 2019-09-27 17:38:05 1903
2016年11月27日08:13:13API服务地址:http://lbsyun.baidu.com/index.php?title=webapi/high-acc-ip使用方法:第一步,申请密钥(AK),作为访问服务的依据;第二步,拼写发送HTTP/HTTPS请求的URL,注意需使用第一步申请的AK;第三步,接收HTTP/HTTPS请求返回的数据(JSON/JSONP格式)服务地址:http://api.map.baidu.com/highacciplo
系统 2019-09-27 17:37:40 1903
#!/usr/bin/envpython#exampletooltip.pyimportpygtkpygtk.require('2.0')importgtk#CreateanArrowwidgetwiththespecifiedparameters#andpackitintoabuttondefcreate_arrow_button(arrow_type,shadow_type):button=gtk.Button()arrow=gtk.Arrow(arr
系统 2019-08-29 23:50:32 1903
原文来自[url=http://www.kirupa.com/developer/mx2004/filmgrain.htm][1u]http://www.kirupa.com/[/1u][/url][1b]效果图如下:[/1b][1b][/1b][1b]开始制作:[/1b]1.在Flash中新建一个文档,将宽和高分别设置为300px和200px2.将背景色设置为深色[诸如黑色,灰色之类]3.在左边点击工具栏中的铅笔工具[PencilTool]在工具栏的下方
系统 2019-08-29 23:42:51 1903