自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 利用Python中SocketServer 实现客户端与服务器间非阻塞通信

利用SocketServer模块来实现网络客户端与服务器并发连接非阻塞socket。首先,先了解下SocketServer模块中可供使用的类:BaseServer:包含服务器的核心功能与混合(mix-in)类挂钩;这个类只用于派生,所以不会生成这个类的实例;可以考虑使用TCPServer和UDPServer。TCPServer/UDPServer:基本的网络同步TCP/UDP服务器。

2013-07-31 11:04:53 34271 1

原创 解决MySQL:1042错误-Can't get hostname for your address

MySQL错误1042-Can't get hostname for your address解决办法:需要修改配置文件,在[mysqld]下增加skip-name-resolve,并重启MYSQL服务可解决此问题。例如:MYSQL配置文件在: /etc/my.cnf,    编辑它,在[mysqld]下增加skip-name-resolve,在执行service mysql re

2013-07-30 17:54:10 16337

转载 Python中使用epoll开发服务端程序

这是个很简单的C/S模型的程序,流程其实和C语言相差不大,客户端发送字符串,服务端再将该字符串返回客户端,epoll中使用的边缘触发。#服务端代码import socket, loggingimport select, errnologger = logging.getLogger("network-server")def InitLog(): logger.setLe

2013-07-30 11:18:15 2052

转载 Python单例模式的4种实现方法

#-*- encoding=utf-8 -*-print '----------------------方法1--------------------------'#方法1,实现__new__方法#并在将一个类的实例绑定到类变量_instance上,#如果cls._instance为None说明该类还没有实例化过,实例化该类,并返回#如果cls._instance不为None,直接返回c

2013-07-28 18:03:29 589

转载 Python thread的解析

一,在import thread之后,我们help(thread)一下,可以看到如下信息:NAME threadFILE (built-in)DESCRIPTIONThis module provides primitive operations to write multi-threaded programs.The 'threading' m

2013-07-28 11:21:51 1053

转载 Python线程使用指南

1. 线程基础1.1. 线程状态线程有5种状态,状态转换的过程如下图所示:1.2. 线程同步(锁)多线程的优势在于可以同时运行多个任务(至少感觉起来是这样)。但是当线程需要共享数据时,可能存在数据不同步的问题。考虑这样一种情况:一个列表里所有元素都是0,线程"set"从后向前把所有元素改成1,而线程"print"负责从前往后读取列表并打印。那么,可能线程"set"开始改的时

2013-07-28 11:00:06 742

原创 查看VNC服务连接状态的说明

输入netstat -lp|grep -i vnc可查看VNC服务的连接状态。#netstat -lp|grep -i vnc(Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.)tcp

2013-07-27 18:49:21 18655

原创 处理Python中urllib2/mechanize库进行socket通信超时的问题

最近实验室的网络状况不太稳定,信息采集程序经常阻塞在通信时的recv()处,Python的urllib2/mechanize库在做HTTP访问时,是用socket方式进行通信,那么我们可以设置一个timeout值,来检测是否超时,并作出相应的异常处理。异常处理的几个片段代码如下:import socketimport urllib2try: resp = urllib2

2013-07-25 13:37:54 3507

转载 mysql重命名表,建立外键,增、删、改列名实例

##mysql重命名表,建立外键,增、删、改列名实例 ##增加到某个字段之后 alter table tb_nippon_mms_info add province varchar(50) default null after retCode;alter table tb_nippon_mms_info add city varchar(50) default null after p

2013-07-23 20:22:33 2652 2

转载 Python MySQLdb库的一点说明 01

安装mysql模块sudo easy_install mysql-python连接数据库1 #!/usr/bin/env python2 #coding=utf-83 import MySQLdb4 conn = MySQLdb.connect('localhost','root','rootpass','oj',charset='utf8')5 cur = conn.cu

2013-07-23 09:59:22 796

转载 Python MySQLdb库的一点说明 02

#-*-coding: utf8 -*-from connectdb import connectDatabase; #connectDatabase是我自己定义的一个连接数据库的函数import MySQLdb;def escape():    cnn = connectDatabase();    cursor = cnn.cursor();

2013-07-23 09:54:49 755

转载 MySQL 数据类型

MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许我们指定数值字段中的值是否有正负之分或者用零填补。  表列出了各种数值类型以及它们的允许范围和占用的内存空间。类型 大小 范围(有符号) 范围(无符号) 用途 TINYINT 1 字节 (-128,127

2013-07-22 21:51:46 583

转载 Python使用UUID库生成唯一ID

资料: Python官方Doc:《20.15. uuid — UUID objects according to RFC 4122》 UUID的算法介绍:《A Universally Unique IDentifier (UUID) URN Namespace》概述: UUID是128位的全局唯一标识符,通常由32字节的字符串表示。 它可以保证时间和空间的唯

2013-07-22 18:02:38 1237

转载 ldconfig 的一点说明

ldconfig是一个动态链接库管理命令为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfigldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态 链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默

2013-07-20 00:03:35 642

转载 Python glob模块的说明

glob模块是最简单的模块之一,内容非常少。用它可以查找符合特定规则的文件路径名。跟使用windows下的文件搜索差不多。查找文件只用到三个匹配符:"*", "?", "[]"。"*"匹配0个或多个字符;"?"匹配单个字符;"[]"匹配指定范围内的字符,如:[0-9]匹配数字。glob.glob  返回所有匹配的文件路径列表。它只有一个参数pathname,定义了文件路径匹配规则,

2013-07-14 12:08:34 3572

原创 处理urlli,urllib2异常的一点说明

我们可以通过捕获提交request后,服务器返回的response包中的内容来分析当前的连接状态,之前在实验室的一段网络连接代码中实现了这部分的异常捕获。    代码如下:import urllib2 try: page = urllib2.urlopen("some url")except urllib2.HTTPError, err: if err.code == 40

2013-07-09 16:05:56 1589

原创 处理UnicodeDecodeError: ‘XXX' codec can't decode bytes in position...的问题

错误信息:UnicodeDecodeError: ‘gbk' codec can't decode bytes in position 2-5: illegal multibyte sequence 这是因为遇到了非法字符,例如:全角空格往往有多种不同的实现方式,比如\xa3\xa0,或者\xa4\x57,这些字符,看起来都是全角空格,但它们并不是“合法”的全角空格真正的全角空格是

2013-07-07 19:03:03 58683 1

原创 Python list 增加/插入元素的说明

在Python中append 用来向 list 的末尾追加单个元素,如果增加的元素是一个list,那么这个list将作为一个整体进行追加。例如:Python代码li=['a', 'b']   li.append([2,'d'])   li.append('e')   #输出为:['a', 'b', [2, 'd'], 'e']   在Python中 insert

2013-07-06 17:10:39 14017

转载 Python针对目录操作的一点说明

python中对文件、文件夹的操作需要涉及到os模块和shutil模块。 创建文件:1) os.mknod("test.txt")       创建空文件2) open("test.txt",w)           直接打开一个文件,如果文件不存在则创建文件 创建目录:os.mkdir("file")                   创建目录 

2013-07-05 23:24:41 764

原创 Python实验室一段日志代码,获取当前调用的函数名和行号

代码如下:import sysdef get_cur_func(): try: raise Exception except: f = sys.exc_info()[2].tb_frame.f_back return (f.f_code.co_name, f.f_lineno) def callfunc(): print g

2013-07-05 22:30:11 5731

转载 Python中的logging库

python的logging秉承了python一贯清爽的风格,短短几行代码就能实现日志记录。Python代码  # -*- coding: utf-8 -*-   import logging   import math     logger = logging.getLogger()   #set loghandler   file = logging.FileH

2013-07-05 21:33:41 1117

原创 查看Linux内存条数与清理内存的命令

1.查看当前内存使用状态free -m   或者 free -g (-m按MB查看, -g按GB查看)2.整理内存echo 1 > /proc/sys/vm/drop_caches 3.查看内存条数命令: dmidecode |grep -A16 "Memory Device$"

2013-07-04 10:07:08 2818

原创 putty中文乱码问题解决

用putty从windows连接到linux,linux的字符集配置文件若设置为LANG=”zh_CN.UTF-8″,则在putty的界面上的中文默认情况会出现部分乱码,解决办法:打开putty主程序,1.选择window_>Appearance->Font settings->Change Settings,选择好中文字体, 字符集选择CHINESE_GB2312货“中午GB23

2013-07-03 18:37:43 653

转载 Linux下时间/时区的设置

Linux机器上的时间比较复杂,有各式各样的时钟和选项等等。机器里有两个时钟,硬件时钟从根本上讲是CMOS时钟,而系统时钟是由内核维护的。1. 修改硬件时钟(1)更新机器的硬件时间。命令为:hwclock --adjust硬件时钟通常被设置成全球标准时间(UTC),而将时区信息保存在/usr/share/lib/timezone (或者在某些系统中可能是/usr/local/timez

2013-07-03 17:54:08 839

转载 Linux 开启vnc服务

在Linux操作系统之间要是使用图形化界面连接操作,也会用到系统自带的vnc,下面就来配置一下vnc。1 检查是否安装 rpm -q | grep vnc如果没有可以通过系统盘来进行安装rpm -ivh vnc-server-......rpm2 指定端口启动服务[root@hp4u ~]# vncserver :1New 'hp4u:1 (root)' d

2013-07-03 16:39:23 1287

转载 Python标准库 子进程 (subprocess包) 的说明

这里的内容以Linux进程基础和Linux文本流为基础。subprocess包主要功能是执行外部的命令和程序。比如说,我需要使用wget下载文件。我在Python中调用wget程序。从这个意义上来说,subprocess的功能与shell类似。 1. subprocess以及常用的封装函数当我们运行python的时候,我们都是在创建并运行一个进程。正如我们在Linux进程基础中介绍的那

2013-07-02 12:22:24 708

空空如也

空空如也

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

TA关注的人

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