您的位置:首页 > 编程语言 > Python开发

Python笔记(5):sys模块,os模块,set,heap,deque简介

2013-01-28 20:53 645 查看

sys module

sys模块提供了一些访问python解释器的变量和函数的方法:

argv:用来访问传递给python的参数,比如argv[1]就是接收的第一个参数,argv[0]则是文件名

exit([arg]):退出当前程序,arg是可选项,表示退出时返回的值或者错误

modules:一个字典,用来存储模块的名称与模块的对应关系

path:python用来寻找模块的路径名的一个list

platform:平台的标识符,比如win32,linux2

stdin:标准输入

stdout:标准输出

stderr:标准错误

os module

os模块可以用来访问一些操作系统提供的服务,比如创建增加删除文件和文件夹,等等,下面是一些比较重要的例子

environ:返回所有的环境变量的键值对

sep:路径中的分割符

pathsep:不同path之间的分割符

linesep:不同行的分割符

urandom(n):生成一个n字节的随机数据

打开浏览器:

可以使用webbrowser模块:

import webbrowser

webbrowser.open("http://weibo.com")

一些数据结构

set

python2.3以后,语言直接包含了set类型,可以直接调用:

>>> set(range(10))

set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

set的主要作用就是消除重复和计算机从属关系,你也可以使用set类型来计算交集和并集等运算,如下

>>> a = set([1, 2, 3])

>>> b = set([2, 3, 4])

>>> a.union(b)

set([1, 2, 3, 4])

>>> a | b

set([1, 2, 3, 4])

>>> c = a & b

>>> c.issubset(a)

True

>>> c <= a

True

>>> c.issuperset(a)

False

>>> c >= a

False

>>> a.intersection(b)

set([2, 3])

>>> a & b

set([2, 3])

>>> a.difference(b)

set([1])

>>> a - b

set([1])

>>> a.symmetric_difference(b)

set([1, 4])

>>> a ^ b

set([1, 4])

>>> a.copy()

set([1, 2, 3])

>>> a.copy() is a

False

set不能作为其他set的成员,但是可以用frozenset代替

heap

python不提供堆这个结构,但是提供了一个堆操作的模块,但是要作用在一个List上面:

heappush(heap, x):将值为x的元素压入heap中

heappop(heap): 弹出最小的元素

heapify(list):使一个任意的list拥有heap的属性

heapreplace(heap, x):弹出heap中最小的值,并且压入x值到heap中去

nlargest(n, iter):返回在iter中最大的n个值

nsmallest(n, iter):返回在iter中最小的n个值

deque

deque在python2.4以后在collections模块中,python2.5中collections中加了defaultdict结构(当dict中没有key时,会返回一个默认值,这个里面还有可能会增加B-tree和Fibonacci heap)

deque可以从一个可迭代类型中创建,用法如下:

>>> from collections import deque

>>> q = deque(range(5))

>>> q.append(5)

>>> q.appendleft(6)

>>> q

deque([6, 0, 1, 2, 3, 4, 5])

>>> q.pop()

5

>>> q.popleft()

6

>>> q.rotate(3)

>>> q

deque([2, 3, 4, 0, 1])

>>> q.rotate(-1)

>>> q

deque([3, 4, 0, 1, 2])
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: