自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 dpkg

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

2017-03-30 18:28:06 294

原创 iptables

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

2017-03-29 17:50:58 320

原创 telnet命令

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

2017-03-29 17:28:48 267

原创 有关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 636

原创 有关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 346

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

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

2017-03-24 09:54:26 1544

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

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

2017-03-24 09:53:25 361

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

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

2017-03-24 09:52:52 544

原创 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 223

原创 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 251

原创 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 1201

原创 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 840

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

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

2017-03-23 19:05:26 1092

原创 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 417

原创 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 1084

原创 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 1232

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

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

2017-03-23 19:02:40 534

原创 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 410

原创 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 542

原创 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 349

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

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

2017-03-23 18:59:46 711

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

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

2017-03-23 18:58:50 769

原创 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 264

原创 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 386

原创 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 319

原创 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 345

原创 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 317

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

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

2017-03-23 13:14:16 1800

翻译 理解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 1554

原创 ps aux命令

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

2017-03-21 17:50:37 598

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

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

2017-03-21 10:05:08 1923

原创 配置centos7解决 docker Failed to get D-Bus connection 报错

配置centos的docker容器时,在里面安装mysql数据库yum -y install mariadb*systemctl start mariadb.service # 运行到这条报错 systemctl enable mariadb.service 当时我配置项目服务器,调用了systemctl命令启动服务,报错。原因及解决方式: 这个的原因是因为dbus-daemon没能

2017-03-21 09:51:24 50198 6

原创 docker基本命令

推荐docker参考网站: * 个人总结网站(docker基本命令):http://www.jianshu.com/p/26f15063de7d * run参数详解:https://jiajially.gitbooks.io/dockerguide/content/chapter_fastlearn/docker_run/index.html$ sudo docker run -i -t ubu

2017-03-21 09:38:14 267

原创 查看linux系统版本

cat /etc/red-hat-release # 查看centos版本# CentOS Linux release 7.3.1611 (Core) cat /etc/issue # 查看ubuntu版本# Ubuntu 16.04.2 LTS \n \l

2017-03-21 09:23:27 302

原创 gitlib使用命令

配置环境: ssh-keygen # 生成密钥 cat /home/hxc/.ssh/id_rsa.pub # 查看密钥拉取项目文件: git clone git status # 查看代码状态 git pull # 更新一下,获取最新版本的项目及分支 git checkout ffmpeg # 拉取ffmp

2017-03-20 09:41:30 927

原创 FFmpeg常用的命令

中文学习网站:http://blog.csdn.net/leixiaohua1020/article/details/15811977/ FFmpeg官方文档:https://ffmpeg.org/general.html FFmpeg命令主要参数:http://blog.csdn.net/leixiaohua1020/article/details/12751349视频格式A->视频格式B

2017-03-07 16:58:41 391

原创 scp 命令

从远程主机复制多个文件到当前目录$ scp username@remotehost:/path/directory/\{foo.txt,bar.txt\} .$ scp root@192.168.1.3:~/\{abc.log,cde.txt\} .复制文件夹scp -v -r ~/Downloads root@192.168.1.3:/root/Downloads# 加参数 -v:显示拷贝进度

2017-03-04 16:34:06 480

原创 apt-get相关命令

搜索软件包apt-cache search softname1 softname2 softname3……卸载软件``` apt-get remove softname1 softname2 softname3……```卸载并清除配置 ``` apt-get remove --purge softname1 ```

2017-03-04 16:19:06 391

原创 time 命令

time 命令#结果……(命令执行结果)real 2m50.321suser 4m4.160ssys 0m4.256sreal值表示从程序开始到程序执行结束时所消耗的时间,包括CPU的用时。user值表示程序本身,以及它所调用的库中的子例程使用的时间。sys是由程序直接或间接调用的系统调用执行的时间。real == user + sys# 并不一定成立,cpu具有并发执行的能力。

2017-03-04 16:07:39 360

原创 关于ffmpeg with h264编码器安装的步骤

官方网站:https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu ,按照全英文的文档安装,安装过程中建立了offmpeg_sources、offmpeg_build、bin三个目录,前两个目录在安装完毕后可以删除。官方文档的示例是以root用户在/root目录下安装的,而我的本机是Ubuntu 16.04系统,经过查询发现Ubuntu默认root用

2017-03-04 15:54:25 3189

空空如也

空空如也

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

TA关注的人

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