Python常用内置模块总结

os模块

##获得当前工作目录
>>> os.getcwd()
'/home/kiosk/Desktop'

##改变当前工作目录,到指定目录中
>>> os.chdir("/")
>>> os.getcwd()
'/'

##返回指定目录下的所有文件和目录名
>>> os.listdir("/mnt")
['westos.sql']

##拼接路径
>>> os.path.join("/mnt","aa")
'/mnt/aa'

##显示当前使用的平台
>>> os.name
'posix'

##生成多层递规目录
>>> os.makedirs("111/222")

##删除单级目录
>>> os.rmdir("111/222")

##重命名文件
>>> os.rename("123","1234")

##获取系统环境变量
>>> os.environ

##显示当前绝对路径
>>> os.path.abspath('1234')
'/home/kiosk/Desktop/1234'

sys 模块

##返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
>>> sys.path
['', '/usr/lib64/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload', '/usr/lib64/python2.7/site-packages', '/usr/lib64/python2.7/site-packages/gtk-2.0', '/usr/lib/python2.7/site-packages'] 

##返回当前运行平台
>>> sys.platform
'linux2'

##返回所有已经导入的模块列表
sys.modules.keys() 

##返回系统导入的模块字段,key是模块名,value是模块
sys.modules 

##返回一个列表,包含 Python 解释器中所有内建模块的名字
>>> sys.builtin_module_names
('__builtin__', '__main__', '_ast', '_codecs', '_sre', '_symtable', '_warnings', '_weakref', 'errno', 'exceptions', 'gc', 'imp', 'marshal', 'posix', 'pwd', 'signal', 'sys', 'thread', 'zipimport')

##返回解释器版本信息
>>> sys.version
'2.7.5 (default, Oct 11 2015, 17:47:16) \n[GCC 4.8.3 20140911 (Red Hat 4.8.3-9)]'

##以列表方式返回传递给脚本的参数。列表中的索引为0,即sys.argv[0]代表程序本身。因此里面的给sys.argv的参数就是list索引。
sys.argv

##中途退出程序,当参数非0时,会引发一个SystemExit异常,从而可以在主程序中捕获该异常。
sys.exit(n)

##获取系统当前编码,一般默认为ascii。
>>> sys.getdefaultencoding()
'ascii'

##(存在疑问)stdin,stdout,以及stderr变量包含与标准I/O 流对应的流对象。如果需要更好地控制输出,而print 不能满足你的要求,它们就是你所需要的。你也可以替换它们,这时候你就可以重定向输出和输入到其它设备(device),或者以非标准的方式处理它们。
sys.stdin,sys.stdout,sys.stderr: 

time

##将一个时间戳转换为当前时区的struct_time。secs参数未提供,则以当前时间为准。
time.localtime([secs])

##将一个时间戳转换为UTC时区(0时区)的struct_time。
time.gmtime([secs])

##返回当前时间的时间戳。
>>> time.time()
1504776294.995365

##将一个struct_time转化为时间戳。
time.mktime(t)

##返回“进程时间”,它是用秒表示的浮点数(时间戳)。
time.clock()

##把一个表示时间的元组或者struct_time表示为这种形式:'Sun Jun 20 23:21:05 1993'。如果没有参数,将会将time.localtime()作为参数传入。
time.asctime([t])

##把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。如果参数未给或者为None的时候,将会默认time.time()为参数。
time.ctime([secs])

##把一个代表时间的元组或者struct_time(如由time.localtime()和time.gmtime()返回)转化为格式化的时间字符串。如果t未指定,将传入time.localtime()。如果元组中任何一个元素越界,ValueError的错误将会被抛出。
time.strftime(format[, t])

##把一个格式化时间字符串转化为struct_time。是strftime()的逆操作。
time.strptime(string[, format])

datetime

datetime模块中包含如下类:
datetime.date:表示日期的类。常用的属性有year, month, day;
datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond;
datetime.datetime:表示日期时间。
datetime.timedelta:表示时间间隔,即两个时间点之间的长度。
datetime.tzinfo:时区信息对象。

注:上面这些类型的对象都是不可变(immutable)的。

##生成一个时间对象
datetime.time()

##生成一个日期对象。这个日期要由我们来设置。(这个类只针对日期)
datetime.date()

##进行时间的算数运算
datetime.timedelta()

##结合日期和时间
datetime.datetime.combine(date,time)

##返回一个表示当前本地时间的datetime对象
datetime.today()

##返回一个表示当前本地时间的datetime对象,如果提供了参数tz,则获取tz参数所指时区的本地时间
datetime.now([tz])

##返回一个当前utc时间的datetime对象
datetime.utcnow()

##根据时间戮创建一个datetime对象,参数tz指定时区信息
datetime.fromtimestamp(timestamp[, tz])

##根据时间戮创建一个datetime对象
datetime.utcfromtimestamp(timestamp)

##将格式字符串转换为datetime对象
datetime.strptime(date_string, format)

json/pickle

待整理

shutil

##从源src复制到dst中去。当然前提是目标地址是具备可写权限。抛出的异常信息为IOException。如果当前的dst已存在的话就会被覆盖掉
shutil.copyfile(src, dst) 

##移动文件或重命名
shutil.move(src,dst)  

##只是会复制其权限其他的东西是不会被复制的
shutil.copymode(src,dst) 

##复制权限、最后访问时间、最后修改时间
shutil.copystat( src, dst) 

##复制一个文件到一个文件或一个目录
shutil.copy( src, dst)  

##在copy上的基础上再复制文件最后访问时间与修改时间也复制过来了,类似于cp –p
(注:如果两个位置的文件系统是一样的话相当于是rename操作,只是改名;如果是不在相同的文件系统的话就是做move操作)
shutil.copy2( src, dst)  

##把olddir拷贝一份newdir,如果第3个参数是True,则复制目录时将保持文件夹下的符号连接,如果第3个参数是False,则将在复制的目录下生成物理副本来替代符号连接
shutil.copytree(olddir,newdir,True/Flase)

##递归删除一个目录以及目录内的所有内容
shutil.rmtree(src)

random

##生成一个0到1的随机符点数: 0 <= n < 1.0
random.random()

##生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a>b,则生成的随机数n:a<=n<=b。如果a<b,则b<=n<= a。
random.uniform(a,b)

##生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a<=n<=b。
random.randint(a,b)

##从指定范围内,按指定基数递增的集合中获取一个随机数。如:random.randrange(10,100,2),结果相当于从[10, 12, 14, 16, ... 96, 98]序列中获取一个随机数。random.randrange(10,100,2)在结果上与 random.choice(range(10, 100, 2) 等效。
random.randrange([start], stop[, step])

##从序列中获取一个随机元素
random.choice(sequence)

##将一个列表中的元素打乱
random.shuffle(x[, random])

##从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列。
random.sample(sequence, k)

猜你喜欢

转载自blog.csdn.net/siyuexiangxian/article/details/77871119