美文网首页
Python常用标准库使用(一)

Python常用标准库使用(一)

作者: 喵小琪 | 来源:发表于2017-08-16 18:13 被阅读0次

    自学python一段时间,之前总是学习基本语法,对Python标准库没怎么接触,所以计划从常用的标准库开始,大体了解一遍,下面是学习过程中的笔记。

    一、OS模块

    主要对目录、或者文件操作。常用方法如下:

    os.listdir(path) ,path 要获得内容目录的路径,列表形式列出目录 下所有目录和文件 名
    os.mkdir(path) ,path 要创建目录的路径
    os.rmdir(path) ,path 要删除的目录的路径(os.rmdir(path) ,path 要删除的目录的路径)
    os.name 返回操作系统类型 返回值是"posix"代表 linux,"nt"代 表 windows
    os.getcwd() 获取当前路径
    os.makedirs(path [, mode=0777]) 递归创建目录
    os.remove(path) 移除文件
    os.rename(old, new) 重命名文件或目录
    os.system(command) 执行 shell 命令, 不能存储结果

    os.path 类用于获取文件属性
    os.path.basename(path) 返回最后一个文件 或目录名
    os.path.dirname(path) 返回最后一个文件 前面目录
    os.path.abspath(path) 返回一个绝对路径
    os.path.isdir(path) 判断是否是目录
    os.path.isfile(path) 判断是否是文件

    栗子1:
    获得目录中的内容,创建目录,删除目录

    #!/usr/bin/python
    # -*-coding:utf-8-*-
    
    import os
    
    # 如何获得目录中的内容
    path = 'D:\workspace\pyTest'
    def getdirlist():
        a = os.listdir(path)
        print a
        print len(a)
    getdirlist()
    
    b = os.listdir(os.getcwd())
    print os.getcwd()
    print b
    print len(b)
    
    # 创建目录
    os.mkdir(path  + "\\temp")
    getdirlist()
    
    # 删除目录
    os.rmdir(path + "\\temp")
    getdirlist()
    

    运行结果:

    image.png

    栗子2:

    import os
    print os.name
    
    # 获取当前路径
    os.getcwd()
    
    path = 'D:\workspace\pyTest'
    os.mkdir(path + "\\test")
    
    # 递归创建目录
    os.makedirs(path + "\\test0\\test1\\test2")
    
    # 移除文件
    os.remove(path + "\\123.txt")
    
    # 重命名文件或目录
    os.rename(path + "\\123.txt", path + "\\1234.txt")
    
    # 执行 shell 命令, 不能存储结果
    command = ''
    os.system(command)
    
    # os.path 类用于获取文件属性
    # 返回最后一个文件 或目录名
    print os.path.basename(path)   # pyTest
    # 判断是否是目录
    print os.path.isdir(path)  # True
    # 判断是否是文件  
    print os.path.isfile(path) # False
    
    

    二、sys模块

    python sys模块包含了与python解释器和它的环境有关的函数,这个你可以通过dir(sys)来查看他里面的方法和成员属性
    import sys
    print dir(sys)
    result:
    复制代码代码如下:

    ['__displayhook__', '__doc__', '__excepthook__', '__name__', '__package__', '__stderr__', '__stdin__', '__stdout__', '_clear_type_cache', '_current_frames', '_getframe', '_mercurial', 'api_version', 'argv', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'dllhandle', 'dont_write_bytecode', 'exc_clear', 'exc_info', 'exc_type', 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info', 'float_repr_style', 'getcheckinterval', 'getdefaultencoding', 'getfilesystemencoding', 'getprofile', 'getrecursionlimit', 'getrefcount', 'getsizeof', 'gettrace', 'getwindowsversion', 'hexversion', 'long_info', 'maxint', 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'py3kwarning', 'setcheckinterval', 'setprofile', 'setrecursionlimit', 'settrace', 'stderr', 'stdin', 'stdout', 'subversion', 'version', 'version_info', 'warnoptions', 'winver']
    

    sys.argv命令行参数

    #!/usr/bin/python
    # -*-coding:utf-8-*-
    
    import sys
    
    print sys.argv[0]
    print sys.argv[1]
    print sys.argv[2]
    print sys.argv[3]
    
    print sys.argv    # argv 既然是一个列表,那么可以通过 len()函数获取这个列表的长度从而知道输入的参数数量
    print len(sys.argv)
    print len(sys.argv[1:])
    
    

    运行结果:

    注意:sys.argv是一个列表,列表sys.argv[0]是文件名,平时统计参数个数时,记得-1,len(sys.argv[1:])。

    image.png

    sys.path模块搜索路径

    sys.path
    输出的是一个列表,里面包含了当前 Python 解释器所能找到的模块目录。
    如果想指定自己的模块目录,可以直接追加 sys.path.append(path)

    sys.platform系统平台标识符

    sys.platform
    系统 平台标识符:
    Linux linux
    Windows win32
    Windows/Cygwin cygwin
    Mac OS X darwin

    sys.subversion解释器版本

    sys.subversion
    Python 解释器有几种版本实现,而默认解释器是 CPython:
    ('CPython', '', '')

    sys.version查看python版本

    sys.version

    sys.exit()退出解释

    代码执行过程中,到 sys.exit()就会终止程序

    三、math 数字处理

    import math
    
    # 返回圆周率
    print math.pi
    # 返回X浮动的上限
    print math.ceil(5.2)
    # 返回X浮动的下限
    print math.floor(5.2)
    # 将数字截尾取整
    print math.trunc(5.2)
    # 返回X的绝对值
    print math.fabs(-5.2)
    # 返回 x%y(取余)
    print math.fmod(5, 2)
    # 返回 x 小数和整数
    print math.modf(5.2)
    # 返回 x 的阶乘
    print math.factorial(5)
    # 返回X的y次方
    print math.pow(2, 3)
    print 2 ** 3
    # 返回X的平方根
    print math.sqrt(5)
    
    

    运行结果:

    image.png

    四、random生成随机数

    import random
    
    # 用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b
    print random.randint(1, 10)
    
    # 用于生成一个0到1的随机符点数: 0 <= n < 1.0
    print random.random()
    
    # 返回整数范围的随机数,并且可设置step
    print random.randrange(1, 10, 3)
    
    # random.sample(sequence, k),从指定序列中随机获取指定长度的片断。sample函数不会修改原有序列
    print random.sample([1, 2, 3, 4, 5], 3)
    
    

    五、json

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,一般API返回的数据大多数是JOSN、XML,如返回的是JSON,将JSON数据转换成字典,方便在程序中处理。
    JSON库常用的有两种方法:dumps()和loads()
    dumps是将dict转化成str格式
    loads是将str转化成dict格式。

    import json
    
    a = {'name': 'wang', 'age': '20'}
    print type(a)
    
    b = json.dumps(a)
    print b, type(b)
    
    c = json.loads(b)
    print c, type(c)
    

    运行结果:

    <type 'dict'>
    {"age": "20", "name": "wang"} <type 'str'>
    {u'age': u'20', u'name': u'wang'} <type 'dict'>
    

    相关文章

      网友评论

          本文标题:Python常用标准库使用(一)

          本文链接:https://www.haomeiwen.com/subject/iroirxtx.html