
Python
文章平均质量分 58
liyuan_35023
这个作者很懒,什么都没留下…
展开
-
Learning Python(1)--操作文件和目录
Keynoteos模块的重要函数或变量: os.name,操作系统类型。(linux->posix,windows->nt)os.uname(),详细系统信息。(windows不支持此函数)os.environ,环境变量;os.environ.get(‘key’),获得某个环境变量的值。 操作文件和目录:os.path.abspath('.'),查看当前目录的绝对路径。os.path.原创 2015-10-16 21:11:47 · 461 阅读 · 0 评论 -
Python Network Programming(6)---Socket网络编程总结
Python网络编程总结:http://www.jianshu.com/p/e062b3dd110c转载 2015-12-25 18:32:05 · 1324 阅读 · 0 评论 -
Learning Python(11)--paramiko模块
paramiko模块是对SSHv2协议的Python实现,它既为客户端提供服务,又有服务器相关的功能.总的来说,它是一个强大的第三方网络库. 在我的端到端测量测序中,需要对大量的Planetlab节点进行配置及操作,若对大量的节点通过手动ssh远程登录来逐一配置,则十分的不方便.而使用paramiko这个模块,则可以很方便的对远程服务器进行集中控制.执行远程命令#!/usr/bin/python原创 2016-03-01 16:02:42 · 388 阅读 · 0 评论 -
Learning Python(16)--多线程编程(threading,Queue模块)
Threading模块在开始介绍Python的多线程模块之前,首先要明确Python多线程的一个重要的问题。先看看Python2.7的官方文档的描述: CPython implementation detail: In CPython, due to the Global Interpreter Lock, only one thread can execute Python code at o原创 2016-03-18 21:47:02 · 1930 阅读 · 0 评论 -
Learning Python(12)--pexpect模块
Pexpect官方文档 Pexpect能够使Python成为一个更好的控制其他应用程序的工具.Pexpect是一个可以创建子应用程序的纯净Python模块,通过它还可以控制子应用,并且对期望的应用输出做出特定的响应,以此实现与其自动交互.Pexpect 的使用范围很广,可以用来实现与 ssh、ftp 、telnet 等程序的自动交互;可以用来自动复制软件安装包并在不同机器自动安装;还可以用来实原创 2016-03-08 09:33:14 · 406 阅读 · 0 评论 -
Learning Python(13)--文件读写
Python的open()BIF可以打开文件来读文件,也可以用来写文件.文件打开模式使用open()BIF打开磁盘文件时,可以指定使用什么访问模式.默认使用’r’模式来读取代表读文件.要打开一个文件完成写,需要使用模式’w’. Geek Bits:使用’w’模式来打开文件完成写时,如果这个文件已经存在,则会清空它现有的内容,再进行写操作.若要追加到一个文件,需要使用访问模式’a’.要打开一个文件原创 2016-03-08 20:26:37 · 452 阅读 · 0 评论 -
Learning Python(14)--struct模块
struct模块的官方文档:https://docs.python.org/2.7/library/struct.htmlstruct模块可以使字符串与二进制byte之间进行相互的转换.常用方法有,pack(),pack_into(),unpack(),unpack_from()原创 2016-03-09 20:02:22 · 339 阅读 · 0 评论 -
Learning Python(17)--多线程编程之线程的局部变量
上一节介绍了多线程间的共享问题。本节介绍,使用threading模块的ThreadLocal来创建一个全局变量,每个线程可以为这个变量绑定只属于自己的局部属性。import threading# 创建全局ThreadLocal对象:local_school = threading.local()def process_student(): # 获取当前线程关联的student:原创 2016-03-21 16:56:22 · 1583 阅读 · 0 评论 -
Learning Python(15)--第三方psutil模块
psutil是一个可以第三方跨平台Python库,它可以获取正在运行的进程的状态信息,还可以得到系统的利用率(包括CPU,内存,硬盘,网络等).一般用于系统的监控,分析和限制进程资源和进程的管理。psutil主页:https://pypi.python.org/pypi/psutilCPUCPU利用率 psutil.cpu_percent(interval=None, percpu=False原创 2016-03-11 14:41:26 · 1472 阅读 · 0 评论 -
Learning Python(10)--input与raw_input
raw_input与input都是Python2.x的内建函数,通过读取控制台输入实现与用户的交互.但是,在Python3.x中,删除了raw_input函数.Python2.xraw_input:无论用户输入的是什么,raw_input函数都会自动将输入自动转换为str类型.即raw_input可以直接接收用户任何类型的输入.>>>a = raw_input()abc>>>a'abc'>原创 2016-02-29 11:09:38 · 341 阅读 · 0 评论 -
Learning Python(3)--正则表达式
正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。在正则表达式中,如果直接给出字符,就是精确匹配。 用\d可以匹配一个数字,\w可以匹配一个字母或数字,所以:00\d可以匹配007,但无法匹配00A;\d\d\d可以匹配010;\w\w\d可以匹配py3;.可以匹配任意字转载 2015-12-08 10:00:39 · 1434 阅读 · 0 评论 -
Learning Python(6)--Python的命令行解析argparse模块
argparse模块官方文档:https://docs.python.org/2/library/argparse.htmlCreating a parser 创建一个解析对象parser = argparse.ArgumentParser(description='Process some integers.') 一般只需要传入description参数。class argparse.Ar原创 2015-12-21 20:15:02 · 371 阅读 · 0 评论 -
Python Network Programming(5)---套接字超时时间
套接字超时时间函数为实例函数gettimeout()方法可以获取默认的超时时间,调用settimeout()方法设定一个超时时间。这种操作在开发服务器应用时很有用。 在test_socket_timeout()函数中,首先创建一个套接字对象,然后使用读取或者设定实例方法处理超时时间。__author__ = 'liyuan35023'# ! /home/mimiasd/PycharmProjec原创 2015-12-21 11:09:23 · 586 阅读 · 0 评论 -
Learning Python(2)--在Ubuntu中更改默认的python版本
在终端中执行:sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150若想切换,则输入:sudo update-alternatives --c转载 2015-10-28 09:57:16 · 388 阅读 · 0 评论 -
Learning Python(7)--Someting Useful
等待一定时间后继续执行其后的程序 简单示例: 先打印11,等待10秒后,打印22import timeprint '11'time.sleep(10)print '22'python 产生随机数,随机字符串import randomimport string#随机整数:print random.randint(1,50)#随机选取0到100间的偶数:print random.r原创 2015-12-29 10:35:44 · 332 阅读 · 0 评论 -
Python Network Programming(7)---泊松分布与发包
Python的第三方模块Scipy的stats中,包含了多种概率分布的随机变量,随机变量分为离散和连续两种。所有的连续随机变量都是rv_continuous的派生类的对象,而所有的离散随机变量都是rv_discrete的派生类的对象。泊松分布:原创 2015-12-30 09:18:27 · 1047 阅读 · 0 评论 -
Python Network Programming(8)---SocketServer模块
Note:python3中SocketServer模块名字变为socketserverSocketServer 模块的官方文档:https://docs.python.org/2/library/socketserver.html总共有4个基本的服务器类: TCPServer,UDPServer,UnixStreamServer与UnixDatagramServer. 这4个类中封装了socke原创 2015-12-30 19:47:36 · 500 阅读 · 0 评论 -
Learning Python(4)--错误处理
在程序运行过程中,总会遇到各种各样的错误。有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,这种错误我们通常称之为bug,bug是必须修复的。有的错误是用户输入造成的,比如让用户输入email地址,结果得到一个空字符串,这种错误可以通过检查用户输入来做相应的处理。还有一类错误是完全无法在程序运行过程中预测的,比如写入文件的时候,磁盘满了,写不进去了,或者从网络抓取数据,网络突然断原创 2015-12-18 15:19:30 · 344 阅读 · 0 评论 -
Python Network Programming(1)---设备名与IPv4地址
版本:python 2.7.6获取设备名的函数为gethostname()获取IP地址的函数为gethostbyname(host)Key point这两个函数在socket模块中。socket模块提供了类方法和实例方法。这两个函数属于类方法。编写独立的print_machine_info()函数__author__ = 'liyuan35023'# !/home/mimiasd/Pychar原创 2015-12-17 15:59:35 · 807 阅读 · 0 评论 -
Learning Python(5)--Python模块包中__init__.py的作用
http://blog.youkuaiyun.com/yxmmxy7913/article/details/4233420转载 2015-12-18 15:45:25 · 313 阅读 · 0 评论 -
Python Network Programming(2)---地址转换函数
如果使用低层网络函数,有时普通的字符串形式的IP地址(点分十进制)并不是很有用,需要把它们转换成打包后的32位二进制格式。inet_aton()—普通字符串的点分十进制–>32位二进制inet_ntoa()—32位二进制格式–>点分十进制__author__ = 'liyuan35023'# !/home/mimiasd/PycharmProjects/workspace python27imp原创 2015-12-19 11:28:28 · 523 阅读 · 0 评论 -
Python Network Programming(3)---通过指定的端口和协议找到服务名
如果想找到网络服务,最好知道该服务运行在TCP或UDP协议的哪个端口上。可以调用socket库中的getservbyport()函数来获取服务的名字。调用这个函数时可以根据情况决定是否提供协议名。__author__ = 'liyuan35023'#! /home/mimiasd/PycharmProjects/workspace python27import socketdef find_se原创 2015-12-19 15:38:12 · 624 阅读 · 0 评论 -
Python Network Programming(4)---主机字节序与网络字节序之间的相互转换
编写低层网络应用时,或许需要处理通过电缆在两台设备之间传送的低层数据,这种操作中,需要把主机操作系统发出的数据转换成网络格式,或者做逆向转换,因为这两种数据的表示方式不一样。字节序相关见unp。Python的socket提供数据在网络字节序与主机字节序之间相互转换的函数:htonl,ntohl;htons,ntohs。__author__ = 'liyuan35023'#!/home/mimias原创 2015-12-21 11:03:53 · 1873 阅读 · 0 评论 -
Learning Python(8)--Python Spider(爬虫)
url管理器URL管理器一般有三种实现方式。set集合,一般小型的爬虫或者不要求永久保存url的程序可以选用set集合来存储url列表。选用set是因为它可以自动去除重复的元素。s = set([1,2,3]),需要提供一个iterable给set。关系型数据库,例如MySQL。可以创建一个表urls(url,is_crawled),它有两个字段,is_crawled代表这个url是待爬取还是已原创 2016-01-05 22:12:15 · 461 阅读 · 0 评论