良玉的博客 点点滴滴,积水成河_良玉的博客_页游、手游linux运维工程师之路

Python模块学习——logging

模块级函数

logging.getLogger([name]):返回一个logger对象,如果没有指定名字将返回root logger

logging.debug()、logging.info()、logging.warning()、logging.error()、logging.critical():设定root logger的日志级别

logging.basicConfig():用默认Formatter为日志系统建立一个StreamHandler,设置基础配置并加到root logger中


阅读全文...

python模块Pexpect 的实例分析

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
This runs a command on a remote host using SSH. At the prompts enter hostname,
user, password and the command.
"""

import pexpect
import getpass, os

#user: ssh 主机的用户名
#host:ssh 主机的域名
#password:ssh 主机的密码
#command:即将在远端 ssh 主机上运行的命令


阅读全文...

python模块之Pexpect函数

Pxssh 做为 pexpect 的派生类可以用来建立一个 ssh 连接,它相比其基类增加了如下方法:

login() 建立到目标机器的ssh连接 ;

losuckgout() 释放该连接 ;

prompt() 等待提示符,通常用于等待命令执行结束。

下面的示例连接到一个远程服务器,执行命令并打印命令执行结果。


阅读全文...

python安装Pexpect模块

Pexpect 是 Don Libes 的 Expect 语言的一个 Python 实现,是一个用来启动子程序,并使用正则表达式对程序输出做出特定响应,以此实现与其自动交互的 Python 模块。 Pexpect 的使用范围很广,可以用来实现与 ssh、ftp 、telnet 等程序的自动交互;可以用来自动复制软件安装包并在不同机器自动安装;还可以用来实现软件测试中与命令行交互的自动化。

阅读全文...

解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误

基本上是ascii编码方式,由此Python自然调用ascii编码解码程序去处理字符流,当字符流不属于ascii范围内,就会抛出异常(ordinal not in range(128))。

解决的方案很简单,修改默认的编码模式,很多朋友会想到setdefaultencoding,是的,我们可以通过sys.setdefaultencoding(‘utf-8′)来将当前的字符处理模式修改为utf-8编码模式,值得注意的是,如果单纯这么调用的话,Python会抛出一个AttributeError异常:


阅读全文...

Linux解决python报错ImportError No module named MySQLdb

最近在CentOS上执行需要操作MySQL的Python脚本时,报错ImportError No module named MySQLdb

本以为缺模块只是很简单的事情,没想到还是花了不少时间,总结下解决的方法如下:

系统:CentOS 6.4

Python版本:2.7.6


阅读全文...

Python编码时应该注意的情况

在编程过程中,多了解语言周边的一些知识,以及一些技巧,可以让你加速成为一个优秀的程序员。

对于Python程序员,你需要注意一下本文所提到的这些事情。你也可以看看Zen of Python(Python之禅),这里面提到了一些注意事项,并配以示例,可以帮助你快速提高。


1. 漂亮胜于丑陋

实现一个功能:读取一列数据,只返回偶数并除以2。下面的代码,哪个更好一些呢?
#----------------------------------------
halve_evens_only = lambda nums: map(lambda i: i/2, filter(lambda i: not i%2, nums))
#----------------------------------------
def halve_evens_only(nums):

   return [i/2 for i in nums if not i % 2]


阅读全文...

python编程--打牌

#!/usr/bin/python
#encoding: utf-8
#一群人想打斗地主和升级。已知他们已经1个、2个、3个或者4个人成为一桌了,现在要把他们全部变成3人一桌或者4人一桌,问至少移动几个人?(要保证所有人都能进行游戏) 输入格式: 多组数据,每组数据一行,包含4个整数a,b,c,d 0<=a,b,c,d<=100000000表示1个人、两个人、3个人、4个人的桌数。 输出格式: 至少移动的人数,如果不可能完成,输出-1

阅读全文...

标签: python打牌

作者:良玉 分类:Python 浏览:546 评论:0

python多进程

要让Python程序实现多进程(multiprocessing),我们先了解操作系统的相关知识。

Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回。


阅读全文...