• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!
Python处理Ctrl+C

Python处理Ctrl+C

比如我现在有这么一个需求,我在一个方法中一直循环探测一个服务的连接数,当连接数为0时,就继续走下面的逻辑,比如关闭服务操作,以此来做 Java 平滑发布。伪代码如下: def fun(): while True: processlist = 'netstat -anplt | wc -l' ……

Python模块:subprocess

Python模块:subprocess

一、subprocess 在早期的 Python 版本中,我们主要是通过 os.system()、os.popen()、os.spawn() 等函数来执行命令行指令的,另外还有一个很少使用的 commands 模块。从 Python 2.4 开始, Python 引入 subprocess 模块来管理子进程,以取代一些旧模块的方法。 subprocess 不……

Python模块:logging

Python模块:logging

一、日志 日志是什么?这个不用多解释。百分之九十的程序都需要提供日志功能。Python内置的logging模块,为我们提供了现成的高效好用的日志解决方案。但是,不是所有的场景都需要使用logging模块,下面是Python官方推荐的使用方法: 任务场景 最佳工具 普通情况下,在控制台显示输出 print() 报告正常程序操作过程中发生的事件……

Python后台进程实现

Python后台进程实现

Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回。 子进程永远返回0,而父进程返回子进程的ID。这样做的理由是,一个父进程可以fork出很多子进程,所以,父进程要记下……

Python反射机制详解

Python反射机制详解

一、Python反射机制 Python反射,可以理解为利用字符串的形式去对象中操作成员属性和方法,常见操作就包括了查找、增加、删除、判断等,是一种基于字符串的事件驱动! 解释Python的反射,先提一个简单的需求。考虑有这么一个场景,根据用户输入的url的不同,调用不同的函数,实现不同的操作,也就是一个url路由器的功能,这在web框架里是核心部件之一。比如……

Python编程常用技巧–持续更新

Python编程常用技巧–持续更新

1. Python判断值是否为空 代码中经常会有变量是否为None的判断,有三种主要的写法: 第一种是:if x is None 第二种是:if not x 第三种是:if not x is None`(这句这样理解更清晰`if not (x is None)`) 。`if x is not None`是最好的写法,清晰,不会出现错误,以后坚持使用这种写法。……

Python列表解析式

Python列表解析式

列表解析式也称之为列表推导式,即List Comprehensions,是Python内置的非常简单却强大的可以用来创建列表的生成式。本质上就是用列表来构建列表,通过对已有列表中的每一项应用一个指定的表达式来构建出一个新的列表。列表解析式的优势是编码简单,运行起来很快。 列表解析式的三个核心要素是: 1. 作用于输入序列的运算表达式; 2. 对输入序列的循环……

Python解包(Unpacking)

Python解包(Unpacking)

一、序列解包 Python赋值语句技巧之序列解包(sequence unpacking),是Python语言赋值语句的一种技巧方法,在给多个Python变量命名同时赋值时是很有效率的一种方法。简单说就是通过一条命令把string/list/tuple的元素分别赋值给多个变量。 # string解包; >>> ……

Python模块:PyMySQL

Python模块:PyMySQL

一、数据库驱动介绍 任何应用都离不开数据,所以在学习 Python 的时候,当然也要学习一个如何用 Python 操作数据库了。MySQLdb 就是 Python 对 MySQL 数据库操作的模块之一。在 Python 2 时代 MySQLdb 库可以说是标配,但是很遗憾目前 MySQLdb 还不支持 Python 3,官方说即将支持,但是市场已经没有了。 ……

Python模块:xlwt、xlrd、openpyxl

Python模块:xlwt、xlrd、openpyxl

一、xlwt写excel xlwt是一个用于向旧的Excel文件写入数据和格式化信息的库,旧的Excel即后缀为.xls(2007版本之前的Office),新的后缀为.xlsx(2007版本及之后的Office)。xlwt、wlrd只能读写xls文件,而不能操作xlsx文件。旧的Excel一个工作表最多可有65536行,行用数字1—65536表示,最多可有2……

Python数据类型:bytes

Python数据类型:bytes

bytes 类型 在 Python 2 中,有两种类型的字符代表字符串,分别是 Strings 和 Unicode。默认将 Strings 以 utf-8 编码成 bytes 类型,而不是使用 unicode 编码(Python 3 已经把 String 使用 Unicode 编码,Unicode 就是 string,而 bytes 就是 bytes),且存……

Python处理SQL语句(提供SQL查询平台使用)

Python处理SQL语句(提供SQL查询平台使用)

在搞公司的SQL查询(MySQL)平台时,需要对用户查询SQL进行条数限制,默认是在配置文件中配置一个“limit = 1000”这样的参数。最自然想到的就是对用户通过web传入的SQL做处理,默认加上limit参数。这样一来就有这么几个问题需要处理: 1. 如果用户自己传入了limit 10这样的条件怎么办? 2. 如果用户自己传入了limit 10,2这……