自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 收藏
  • 关注

原创 python cookbook3

http://python3-cookbook.readthedocs.io/zh_CN/latest/index.html

2017-04-13 15:59:37 517 1

原创 bind9涉及到的文档

https://www.digitalocean.com/community/tutorials/an-introduction-to-dns-terminology-components-and-concepts

2017-04-13 15:47:35 845

原创 DNSSEC

中文入门讲解(原理\配置\部署) http://netsec.ccert.edu.cn/duanhx/?p=1479用 BIND 搭建高可用性 DNSSEC 仅权威服务器 https://www.v2ex.com/t/143009正规比较全面的文章: https://www.digitalocean.com/community/tutorials/how-to-setup-dnssec-

2017-04-13 15:46:06 1155

原创 dns服务器常用地址

国内的公共DNS服务器(Resolver Server/Recursive Server) http://www.ip.cn/dns.html我国实施DNSSEC的文件网址: https://link.zhihu.com/?target=http%3A//www.ccsa.org.cn/publish/download_bp.php%3Fstdtype%3Dyd1%26sno%3D112有关

2017-04-13 15:39:31 776

原创 修改环境变量

在家目录下,vim .bashrc在最下面一行添加:PATH=路径:$PATH: #将所需路径添加进去是修改的内容生效:source .bashrc

2017-04-10 19:15:45 336

原创 which命令

查询可执行命令的位置

2017-04-10 19:11:11 229

原创 开放服务器上mysql的3306端口

查看端口$ netstat -an | grep 3306tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN # 说明只监听本地端口 做法: MySQL:注释掉/etc/mysql/my.cnf中bind-address Mariadb:注释掉/etc/mysql/mari

2017-04-10 18:22:01 6106

原创 安装完mariadb,root用户用密码or不用密码都能登录

参考网站:http://nixmash.com/post/fix-for-mysql-rootlocalhost-access-denied-on-new-installs 按照步骤执行其中的两条命令,并更新一下数据库的表,即可.

2017-04-07 18:15:46 2241

转载 使用tmux分屏(既可以左右分屏,也可以上下分屏)

(1)安装工具在ubuntu系统中使用sudo apt-get install tmux安装tmux工具(2)使用工具1,输入命令tmux使用工具2,上下分屏:ctrl + b 再按 "3,左右分屏:ctrl + b 再按 %4,切换屏幕:ctrl + b 再按o5,关闭一个终端:ctrl + b 再按x6,上下分屏与左右分屏切换: ctrl + b 再按空格键

2017-04-06 17:27:50 58234

原创 dpkg

1)安装软件#命令行:dpkg -i <.deb file name>#示例:dpkg -i avg71flm_r28-1_i386.deb2)删除一个包(包括配置信息)#命令行:dpkg -P

2017-03-30 18:28:06 271

原创 iptables

iptables -t nat --list #检查nat列表信息

2017-03-29 17:50:58 309

原创 telnet命令

Telnet是进行远程登录的标准协议和主要方式它为用户提供了在本地计算机上完成远程主机工作的能力。可以用telnet命令来测试端口号是否正常打开还是关闭状态。telnet IP||域名 port# 如果端口打开则界面变成空白状态

2017-03-29 17:28:48 259

原创 有关celery的教程

3.17文档: http://docs.jinkan.org/docs/celery/getting-started/first-steps-with-celery.html#first-steps中文文档:https://vosamo.github.io/2016/05/celery-rabbitmq/,网页底部有四个其它网站的链接

2017-03-27 14:05:17 627

原创 有关RabbitMQ教程网站

官方文档中文版:http://rabbitmq.mr-ping.com/tutorials_with_python/[3]Publish_Subscribe.htmlRabbitMQ的安装配置:https://github.com/judasn/Linux-Tutorial/blob/master/RabbitMQ-Install-And-Settings.md

2017-03-24 16:53:49 334

原创 9-5在类中定义装饰器

# -*- coding:utf-8 -*-"""实际案例:实现一个能将函数调用信息记录到日志的装饰器:1.把每次函数的调用时间,执行时间.调用次数写入日志.2.可以对被装饰函数分组,调用信息记录到不同日志.3.动态修改参数,比如日志格式.4.动态打开关闭日志输出功能解决方案:为了让装饰器在使用上更加灵活,可以把类的实例方法作为装饰器,此时在包裹函数中就可以持有实例对象,便于修改属性

2017-03-24 09:54:26 1525

原创 9-4修改属性的装饰器

# -*- coding:utf-8 -*-'''为分析程序内哪些函数执行时间开销较大,定义一个timeout参数的函数装饰器.装饰功能:1.统计被装饰函数单词调用运行时间.2.时间大于参数timeout的,将此次函数调用记录到log日志中.3.运行时可修改timeout的值.解决方案:为包裹函数增添一个函数,用来修改闭包中使用的自由变量.在python3中:使用nonlocal访问嵌套

2017-03-24 09:53:25 346

原创 9-3定义带参数的装饰器

# -*- coding:utf-8 -*-'''带参数的装饰器,也就是根据参数定制化一个装饰器,可以看成生产装饰器的工厂 每次调用 typeassert,返回一个特定的装饰器,然后用它去装饰其它函数 '''from inspect import signature# 提取函数签名,只有在python3.5有该模块def typeassert(*ty_args, **ty_kargs):

2017-03-24 09:52:52 533

原创 9-2为被装饰的函数保存元数据

# -*- coding:utf-8 -*-'''f.__name__ f.__doc__ f.__module__ 所属模块 f.__defaults__ 默认参数 f.__closure__ 闭包'''import functoolsdef f(a, b = 1, c = []): '''func for print abc''' print

2017-03-24 09:52:07 216

原创 9-1使用函数装饰器

# -*- coding:utf-8 -*-def fibonacci(n, cache=None): '''斐波那契数列:如果只简单地调用递归,那么消耗的内存资源就很多, 于是存放在缓存cache变量中''' if cache is None: cache = {} if n in cache: return cache[n] i

2017-03-23 19:07:39 241

原创 4-6如何去掉字符串中不需要的字符

# -*- coding:utf-8 -*-"""实际案例:1. 过滤掉用户输入中前后多余的空白字符:' nick2008@gmail.com'2. 过滤某windows下编辑文本中的'\r':'hello world\r\n'3.去掉文本中的unicode组合符号(音调):u'...'解决方案:方法一:字符串strip(),lstrip(),rstrip()方法去掉字符串两端字符

2017-03-23 19:06:57 1188

原创 4-5对字符串进行左,右,居中对齐

# -*- coding:utf-8 -*-"""实际案例:某个字典存储了一系列属性值,{ "lodDist":100.0, "SmallCull":0.04, "DistCull":500.0, "farclip":477}在程序中,我们想以以下工整的格式将其内容输出,如何处理?SmallCull :0.04farclip :477lodDist

2017-03-23 19:06:00 830

原创 4-4将多个小字符串频拼接成一个字符串

# -*- coding:utf-8 -*-"""实际案例:在设计某网络程序时,我们自定义了一个基于UDP的网络协议,按照固定次序向服务器传递一系列参数:hwDetect: "<0112>"gxDepthBits: "<32>"....在程序中我们将各个参数按次序收集到列表中:["<0112>", "<32>", "<1024*768>", ....]最终我们要把各个参数拼接成agi

2017-03-23 19:05:26 1082

原创 4-3调整字符串中的文本格式

# -*- coding:utf-8 -*-"""实际案例:某文件的log文件,其中的日期格式为'yyyy-mm-dd':....2016-05-23 10:59:26 status unpacked python3-pip:all2016-05-23 10:59:26 status half-configured python3-pip:all....我们想把其中日期改为美国日期的格式

2017-03-23 19:04:41 406

原创 4-2判断字符串a是否以字符串b开头或结尾

# -*- coding:utf-8 -*-"""某文件系统目录下有一系列文件:quicksort.cgraph.pyheap.javainstall.shstack.cpp....编写程序给其中所有.sh文件和.py文件加上用户可执行权限解决方案:使用字符串的str.startwith()和str.endwith()方法.注意:多个匹配时参数使用元组."""import o

2017-03-23 19:04:08 1078

原创 4-1拆分含有多种分隔符的字符串

# -*- coding:utf-8 -*-"""实际案例:我们要某个字符串一句分隔符号拆分不同的字段,该字符串包含多种不同的分隔符,例如:s = 'ab;cd|efg|hi,jkl|mn\topq;rst,uvw\txyz'其中<,>, <;>, <\>, <\t>都是分隔符号,如何处理?解决方案:方法一:连续使用str.split()方法,每次处理一种分隔符号.方法二:使用正则表达式的

2017-03-23 19:03:24 1215

原创 3-6在一个for语句中迭代多个可迭代对象

# -*- coding:utf-8 -*-"""实际案例:1.某班学生期末成绩,语文,数学,英语分别存储在3个列表中,同时迭代三个列表,计算每个学生的总分.(并行)2.某年及有4个班,某次考试每班英语成绩分别存储在4个列表中,依次迭代每个列表,统计全学年成绩高于90分人数.(串行)解决方案:并行: 使用内置函数zip,它能将多个可迭代对象合并,每次迭代返回一个元组.串行: 使用标准库中

2017-03-23 19:02:40 524

原创 3-5对迭代器做切片操作

# -*- coding:utf-8 -*-"""实际案例:有某个文本文件,我们想读取其中某范围的内容如100~300行之间的内容,python中文本文件是可迭代对象,我们是否可以使用类似列表切片方式得到一个100~300行内容的生成器?f = open('/var/log/dmesg')f[100:300] # OK?解决方案:使用标准库中的itertools.islice,它

2017-03-23 19:01:50 403

原创 3-4进行反向迭代以及实现反向迭代

# -*- coding:utf-8 -*-"""实际案例:实现一个连续浮点数发生器FloatRange(和xrange类似),根据给定范围(start, end)和步进值(step)产生一系列连续浮点数,如迭代FloatRange(3.0, 4.0, 0.2)可产生序列"""l = [1, 2, 3, 4, 5]l.reverse() # 会改变原列表# l = [5, 4,

2017-03-23 19:01:05 530

原创 3-3使用生成器函数实现可迭代对象

# -*- coding:utf-8 -*-"""实际案例:实现一个可迭代对象的类,它能迭代出给定范围内的所有素数:pn = PrimeNumber(1, 30)for k in pn: print k输出结构:2 3 5 7 11 13 17 19 23 29解决方案:将该类的__iter__方法实现成生成器函数,每次yield返回一个素数"""def f(): pr

2017-03-23 19:00:23 339

原创 3-1 实现可迭代对象和迭代器对象

# -*- utf-8 -*-"""实际用例:从网络抓取各个城市气温信息,并依次显示:北京:15~20天津:17~22长春:12~18.....如果依次抓取所有城市天气再显示,显示第一个城市气温时,有很高的延时,并且浪费存储空间.我们期望以"用时访问"的策略,并且能把所有城市气温封装到一个对象里,可用for语句进行迭代.解决方案:step1:实现一个迭代器对象WeatherIter

2017-03-23 18:59:46 700

原创 2-7实现用户的历史记录功能

# -*- coding:utf-8 -*-from random import randintfrom collections import dequeimport pickle# 问题描述:# 所使用的deque(双循环队列)处理结果都存在内存当中,当再次运行程序将会消失# 解决方案:# 可以在程序推出前,使用pickle将队列对象存入文件,再次运行程序时将其导入# pickle.d

2017-03-23 18:58:50 756

原创 2-6 让字典保持有序

# -*- coding:utf-8 -*-from collections import OrderedDictfrom time import timefrom random import randint# 问题如下:d = {}d['Jim'] = (1, 35)d['Leo'] = (2, 37)d['Bob'] = (3, 40)for k in d: print k# 结果

2017-03-23 18:58:06 255

原创 2-5快速找到多个字典中的公共键

# -*- coding:utf-8 -*-from random import randint, sample# sample : 取样sample('abcdefg', 3)sample('abcdefg', randint(3, 6))s1 = {x: randint(1, 5) for x in sample('abcdefg', randint(3, 6))}s2 = {x: ran

2017-03-23 18:57:11 374

原创 2-4根据字典中值的大小,对字典中的项排序

# -*- coding:utf-8 -*-from random import randintd = {x: randint(60, 100) for x in 'xyzabc'}# 问题如下:sorted(d)# ['a', 'b', 'c', 'x', 'y', 'z']# sorted()只是将字典中的键排了序# 将字典转化成可迭代对象iter(d)# <dictionary-ke

2017-03-23 18:56:10 306

原创 2-3统计序列中元素出现的频度

# -*- coding:utf-8 -*-from random import randintfrom collections import Counterimport redata = [randint(0, 20) for _ in xrange(30)]# 解决方案1:c = dict.fromkeys(data, 0) # 得到初始的字典,目前每个元素的键值是0for x in

2017-03-23 18:55:04 333

原创 2-2为元组中的每个元素命名,提高程序可读性

# -*- coding:utf-8 -*-from collections import namedtuple# 问题描述:student = ('Jim', 16, 'male', 'jim8721@mail.com')NAME, AGE, SEX, MAIL = xrange(4)# NAME = 0# AGE = 1# SEX = 2# EMAIL = 3# nameprin

2017-03-23 18:53:40 303

转载 django/python日志logging 的配置以及处理

日志在程序开发中是少不了的,通过日志我们可以分析到错误在什么地方,有什么异常。在生产环境下有很大的用处。在java 开发中通常用 log4j,logback 等三方组件。那么在 django中是怎么处理日志的呢。django 利用的就是python 提供的 logging模块. 在前面有一篇文章专门讲过 python的 logging ,但django中要用logging ,还得有一定的配置规律,需

2017-03-23 13:14:16 1788

翻译 理解python中的 *args??? and **kwargs???

之前python中有很多参数为*args 和 **kwargs的函数,一直不能理解他们,后来搜索后正确理解: * 面向对象角度: One place where the use of *args and **kwargs is quite useful is for subclassing(子类化).class Foo(object): def __init__(self, value1

2017-03-22 14:50:24 1546

原创 ps aux命令

PID //进程的ID%MEM //占用内存的百分比VSZ //该进程使用的虚拟內存量(KB)RSS //该进程占用的固定內存量(KB)(驻留中页的数量)TTY //该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。TIME //该进程实际使用CPU运行的时间其中STAT状态位常见的状态字

2017-03-21 17:50:37 571

原创 安装ez_install和pip,使用requirements.txt安装

# centos下:$ yum install python-setuptools python-setuptools-dev # 安装ez_install$ ez_install pip

2017-03-21 10:05:08 1903

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除