sys模块包含系统对应的功能
sys.stdin、sys.stdout
和sys.stderr
它们分别对应你的程序的标准输入、
标准输出和标准错误流。
os模块
这个模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行。一个例子就是使用os.sep
可以取代操作系统特定的路径分割符。
os.name
字符串指示你正在使用的平台。比如对于Windows,它是'nt'
,而对于Linux/Unix用户,它是'posix'
。
os.getcwd()
函数得到当前工作目录,即当前Python脚本工作的目录路径。
os.getenv()
和os.putenv()
函数分别用来读取和设置环境变量。
os.listdir()
返回指定目录下的所有文件和目录名。
os.remove()
函数用来删除一个文件。
os.system()
函数用来运行shell命令。
os.linesep
字符串给出当前平台使用的行终止符。例如,Windows使用'\r\n'
,Linux使用'\n'
而Mac使用'\r'
。
os.path.split()
函数返回一个路径的目录名和文件名。
>>> os.path.split('/home/swaroop/byte/code/poem.txt')
('/home/swaroop/byte/code', 'poem.txt')
os.path.isfile()
和os.path.isdir()
函数分别检验给出的路径是一个文件还是目录。类似地,os.path.existe()
函数用来检验给出的路径是否真地存在。
名称 | 说明 |
---|---|
__init__(self,...) | 这个方法在新建对象恰好要被返回使用之前被调用。 |
__del__(self) | 恰好在对象要被删除之前调用。 |
__str__(self) | 在我们对对象使用print 语句或是使用str() 的时候调用。 |
__lt__(self,other) | 当使用 小于 运算符(<)的时候调用。类似地,对于所有的运算符(+,>等等)都有特殊的方法。 |
__getitem__(self,key) | 使用x[key] 索引操作符的时候调用。 |
__len__(self) | 对序列对象使用内建的len() 函数的时候调用。 |
列表综合 listone=[2,3,4] listtwo=[2*i for i in listone if i>2] print listtwo
lambda形式
def test(n):
return lambda s: s*n
twice=test(4)
print twice("哈密瓜")
print twice(4)
注:只能用 *
exec语句用来执行储存在字符串或文件中的Python语句。例如,我们可以在运行时生成一个包含Python代码的字符串,然后使用exec
语句执行这些语句。下面是一个简单的例子。
exec 'print "hello word"'
eval语句用来计算存储在字符串中的有效Python表达式。下面是一个简单的例子。
eval('2*3')
assert语句用来声明某个条件是真的。例如,如果你非常确信某个你使用的列表中至少有一个元素,而你想要检验这一点,并且在它非真的时候引发一个错误,那么assert
语句是应用在这种情形下的理想语句。当assert语句失败的时候,会引发一个AssertionError
。
assert语句用来声明某个条件是真的。
当assert语句失败的时候,会引发一个AssertionError
。
repr函数用来取得对象的规范字符串表示。反引号(也称转换符)可以完成相同的功能。注意,在大多数时候有eval(repr(object)) == object
。
基本上,repr
函数和反引号用来获取对象的可打印的表示形式。你可以通过定义类的__repr__
方法来控制你的对象在被repr
函数调用的时候返回的内容。