• python常用内置模块------(搬运)


    Python常用内置模块

    Python常用内置模块

    • time模块
    • datetime模块
    • sys模块
    • random模块
    • stat模块
    • string模块
    • math模块
    • urllib模块

    time模块

    有以下几种方式来表示时间:

    1. 时间戳
    2. 格式化的时间字符串(时间对象)
    3. 元组(struct_time)共九个元素,由于python的time模块实现主要调用C库,所以各个平台可能不同

    时间戳(timestamp)的方式:通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量,我们运行type(time.time()),返回的就是float类型。

    元组(tuple_time)方式:struct_time元组共有9个元素,返回struct_time的函数主要有gmtime(),localtime(),strptime(),下面列出这种方式元组中的几个元素:

    索引(Index)属性Attribute值(Values)
    0 tm_year(年) 比如2011
    1 tm_mon(月 1 - 12
    2 tm_day(日) 1-31
    3 tm_hour(时) 0-23
    4 tm_min(分) 0-59
    5 tm_sec(秒) 0-59
    6 tm_wday(星期) 0 - 6(0表示周日)
    7 tm_yday(一年中的第几天) 1-366
    8 tm_isdst(是否是夏令时) 默认为1


    时间类型的相互转换

    import time
    
    t = time.time()
    s = time.ctime(t)       # 时间戳->字符串
    t1 = time.localtime(t)  # 时间戳->元组
    t2 = time.mktime(t1)    # 元组->时间戳
    t3 = time.strftime('%Y-%m-%d %H:%M:%S')     # 元组->字符串
    t4 = time.strptime('2021/1/1', '%Y/%m/%d')  # 字符串->元组

    datetime模块

    datetime.date.today()          本地日期对象,(用str函数可得到它的字面表示(2014-03-24))
    datetime.date.isoformat(obj)   当前[年-月-日]字符串表示(2014-03-24)
    datetime.date.fromtimestamp()  返回一个日期对象,参数是时间戳,返回 [年-月-日]
    datetime.date.weekday(obj)     返回一个日期对象的星期数,周一是0
    datetime.date.isoweekday(obj)  返回一个日期对象的星期数,周一是1
    datetime.date.isocalendar(obj) 把日期对象返回一个带有年月日的元组
    
    datetime对象:
    datetime.datetime.today()                返回一个包含本地时间(含微秒数)的datetime对象 2014-03-24 23:31:50.419000
    datetime.datetime.now([tz])              返回指定时区的datetime对象 2014-03-24 23:31:50.419000
    datetime.datetime.utcnow()               返回一个零时区的datetime对象
    datetime.fromtimestamp(timestamp[,tz])   按时间戳返回一个datetime对象,可指定时区,可用于strftime转换为日期表示 
    datetime.utcfromtimestamp(timestamp)     按时间戳返回一个UTC-datetime对象
    datetime.datetime.strptime(‘2014-03-16 12:21:21‘,”%Y-%m-%d %H:%M:%S”)   将字符串转为datetime对象
    datetime.datetime.strftime(datetime.datetime.now(), ‘%Y%m%d %H%M%S‘)    将datetime对象转换为str表示形式
    datetime.date.today().timetuple()        转换为时间戳datetime元组对象,可用于转换时间戳
    datetime.datetime.now().timetuple()
    time.mktime(timetupleobj)                将datetime元组对象转为时间戳
    time.time()                              当前时间戳
    time.localtime
    

    sys模块

    sys.argv                       命令行参数List,第一个元素是程序本身路径 
    sys.path                       返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 
    sys.modules.keys()             返回所有已经导入的模块列表
    sys.modules                    返回系统导入的模块字段,key是模块名,value是模块 
    sys.exc_info()                 获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息
    sys.exit(n)                    退出程序,正常退出时exit(0)
    sys.hexversion                 获取Python解释程序的版本值,16进制格式如:0x020403F0
    sys.version                    获取Python解释程序的版本信息
    sys.platform                   返回操作系统平台名称
    sys.stdout                     标准输出
    sys.stdout.write(‘aaa‘)        标准输出内容
    sys.stdout.writelines()        无换行输出
    sys.stdin                      标准输入
    sys.stdin.read()               输入一行
    sys.stderr                     错误输出
    sys.exc_clear()                 用来清除当前线程所出现的当前的或最近的错误信息 
    sys.exec_prefix                 返回平台独立的python文件安装的位置 
    sys.byteorder                   本地字节规则的指示器,big-endian平台的值是‘big‘,little-endian平台的值是‘little‘ 
    sys.copyright                   记录python版权相关的东西 
    sys.api_version                 解释器的C的API版本 
    sys.version_info                ‘final‘表示最终,也有‘candidate‘表示候选,表示版本级别,是否有后继的发行 
    sys.getdefaultencoding()        返回当前你所用的默认的字符编码格式 
    sys.getfilesystemencoding()     返回将Unicode文件名转换成系统文件名的编码的名字 
    sys.builtin_module_names        Python解释器导入的内建模块列表 
    sys.executable                  Python解释程序路径 
    sys.getwindowsversion()         获取Windows的版本 
    sys.stdin.readline()            从标准输入读一行,sys.stdout.write(“a”) 屏幕输出a
    sys.setdefaultencoding(name)    用来设置当前默认的字符编码(详细使用参考文档) 
    sys.displayhook(value)          如果value非空,这个函数会把他输出到sys.stdout(详细使用参考文档)

    random模块

    print( random.randint(1,10) )        # 产生 1 到 10 的一个整数型随机数  
    print( random.random() )             # 产生 0 到 1 之间的随机浮点数
    print( random.uniform(1.1,5.4) )     # 产生  1.1 到 5.4 之间的随机浮点数,区间可以不是整数
    print( random.choice('tomorrow') )   # 从序列中随机选取一个元素
    print( random.randrange(1,100,2) )   # 生成从1到100的间隔为2的随机整数
    random.shuffle(x[, random])
    #用于将一个列表中的元素打乱,即将列表内的元素随机排列。
    random.sample(sequence, k)
    #从指定序列中随机获取指定长度的片断并随机排列。注意:sample函数不会修改原有序列。
    
    random.seed(a=None, version=2)               初始化随机数生成器。如果 a 被省略或为 None ,则使用当前系统时间。 如果操作系统提供随机源,则使用它们而不是系统时间(有关可用性的详细信息,请参阅 os.urandom() 函数)。
    #如果 a 是 int 类型,则直接使用。<br>对于版本2(默认的),str 、 bytes 或 bytearray 对象转换为 int 并使用它的所有位。<br>对于版本1(用于从旧版本的Python再现随机序列),用于 str 和 bytes 的算法生成更窄的种子范围。<br>在 3.2 版更改: 已移至版本2方案,该方案使用字符串种子中的所有位。
    random.getstate()                            返回捕获生成器当前内部状态的对象。 这个对象可以传递给 setstate() 来恢复状态。
    random.setstate(state)                       state 应该是从之前调用 getstate() 获得的,并且 setstate() 将生成器的内部状态恢复到 getstate() 被调用时的状态。
    random.getrandbits(k)                        返回带有 k 位随机的Python整数。 此方法随 MersenneTwister 生成器一起提供,其他一些生成器也可以将其作为API的可选部分提供。 如果可用,getrandbits() 启用 randrange() 来处理任意大范围。
    random.randrange(start, stop[, step])        从 range(start, stop, step) 返回一个随机选择的元素。 这相当于 choice(range(start, stop, step)) ,但实际上并没有构建一个 range 对象。
    random.randint(a, b)                         返回随机整数 N 满足 a <= N <= b。相当于 randrange(a, b+1)。
    random.choice(seq)                           从非空序列 seq 返回一个随机元素。 如果 seq 为空,则引发 IndexError。
    random.shuffle(x[, random]) 将序列 x 随机打乱位置。可选参数 random 是一个0参数函数,在 [0.0, 1.0) 中返回随机浮点数;默认情况下,这是函数 random() 。
    random.sample(population, k)             返回从总体序列或集合中选择的唯一元素的 k 长度列表。 用于无重复的随机抽样。返回包含来自总体的元素的新列表,同时保持原始总体不变。 结果列表按选择顺序排列,因此所有子切片也将是有效的随机样本。 这允许抽奖获奖者(样本)被划分为大奖和第二名获胜者(子切片)。
    random.random()                          返回 [0.0, 1.0) 范围内的下一个随机浮点数。
    random.uniform(a, b)                     返回一个随机浮点数 N ,当 a <= b 时 a <= N <= b ,当 b < a 时 b <= N <= a 。取决于等式 a + (b-a) * random() 中的浮点舍入,终点 b 可以包括或不包括在该范围内。
    random.triangular(low, high, mode)       返回一个随机浮点数 N ,使得 low <= N <= high 并在这些边界之间使用指定的 mode 。 low 和 high 边界默认为零和一。 mode 参数默认为边界之间的中点,给出对称分布。
    
    random.betavariate(alpha, beta)          Beta 分布。 参数的条件是 alpha > 0 和 beta > 0。 返回值的范围介于 0 和 1 之间。
    random.expovariate(lambd)                指数分布。 lambd 是 1.0 除以所需的平均值,它应该是非零的。 (该参数本应命名为 “lambda” ,但这是 Python 中的保留字。)如果 lambd 为正,则返回值的范围为 0 到正无穷大;如果 lambd 为负,则返回值从负无穷大到 0。
    random.gammavariate(alpha, beta)         Gamma 分布。 ( 不是 gamma 函数! ) 参数的条件是 alpha > 0 和 beta > 0。
    random.gauss(mu, sigma)                  高斯分布。 mu 是平均值,sigma 是标准差。 这比下面定义的 normalvariate() 函数略快。
    random.lognormvariate(mu, sigma)         对数正态分布。 如果你采用这个分布的自然对数,你将得到一个正态分布,平均值为 mu 和标准差为 sigma 。 mu 可以是任何值,sigma 必须大于零。
    random.normalvariate(mu, sigma)          正态分布。 mu 是平均值,sigma 是标准差。
    random.vonmisesvariate(mu, kappa)        冯·米塞斯(von Mises)分布。 mu 是平均角度,以弧度表示,介于0和 2*pi 之间,kappa 是浓度参数,必须大于或等于零。 如果 kappa 等于零,则该分布在 0 到 2*pi 的范围内减小到均匀的随机角度。
    random.paretovariate(alpha)              帕累托分布。 alpha 是形状参数。
    random.weibullvariate(alpha, beta)       威布尔分布。 alpha 是比例参数,beta 是形状参数。

    stat模块

    描述os.stat()返回的文件属性列表中各值的意义

    fileStats = os.stat(path)                 获取到的文件属性列表
    fileStats[stat.ST_MODE]                   获取文件的模式
    fileStats[stat.ST_SIZE]                   文件大小
    fileStats[stat.ST_MTIME]                  文件最后修改时间
    fileStats[stat.ST_ATIME]                  文件最后访问时间
    fileStats[stat.ST_CTIME]                  文件创建时间
    stat.S_ISDIR(fileStats[stat.ST_MODE])     是否目录
    stat.S_ISREG(fileStats[stat.ST_MODE])     是否一般文件
    stat.S_ISLNK(fileStats[stat.ST_MODE])     是否连接文件
    stat.S_ISSOCK(fileStats[stat.ST_MODE])    是否COCK文件
    stat.S_ISFIFO(fileStats[stat.ST_MODE])    是否命名管道
    stat.S_ISBLK(fileStats[stat.ST_MODE])     是否块设备
    stat.S_ISCHR(fileStats[stat.ST_MODE])     是否字符设置

    string模块

    str.capitalize()                    把字符串的第一个字符大写
    str.center(width)                   返回一个原字符串居中,并使用空格填充到width长度的新字符串
    str.ljust(width)                    返回一个原字符串左对齐,用空格填充到指定长度的新字符串
    str.rjust(width)                    返回一个原字符串右对齐,用空格填充到指定长度的新字符串
    str.zfill(width)                    返回字符串右对齐,前面用0填充到指定长度的新字符串
    str.count(str,[beg,len])            返回子字符串在原字符串出现次数,beg,len是范围
    str.decode(encodeing[,replace])     解码string,出错引发ValueError异常
    str.encode(encodeing[,replace])     解码string
    str.endswith(substr[,beg,end])      字符串是否以substr结束,beg,end是范围
    str.startswith(substr[,beg,end])    字符串是否以substr开头,beg,end是范围
    str.expandtabs(tabsize = 8)         把字符串的tab转为空格,默认为8个
    str.find(str,[stat,end])            查找子字符串在字符串第一次出现的位置,否则返回-1
    str.index(str,[beg,end]) 查找子字符串在指定字符中的位置,不存在报异常
    str.isalnum()                       检查字符串是否以字母和数字组成,是返回true否则False
    str.isalpha()                       检查字符串是否以纯字母组成,是返回true,否则false
    str.isdecimal()                     检查字符串是否以纯十进制数字组成,返回布尔值
    str.isdigit()                       检查字符串是否以纯数字组成,返回布尔值
    str.islower()                       检查字符串是否全是小写,返回布尔值
    str.isupper()                       检查字符串是否全是大写,返回布尔值
    str.isnumeric()                     检查字符串是否只包含数字字符,返回布尔值
    str.isspace()                       如果str中只包含空格,则返回true,否则FALSE
    str.title()                         返回标题化的字符串(所有单词首字母大写,其余小写)
    str.istitle()                       如果字符串是标题化的(参见title())则返回true,否则false
    str.join(seq)                       以str作为连接符,将一个序列中的元素连接成字符串
    str.split(str=‘‘,num)               以str作为分隔符,将一个字符串分隔成一个序列,num是被分隔的字符串
    str.splitlines(num)                 以行分隔,返回各行内容作为元素的列表
    str.lower()                         将大写转为小写
    str.upper()                         转换字符串的小写为大写
    str.swapcase()                      翻换字符串的大小写
    str.lstrip()                        去掉字符左边的空格和回车换行符
    str.rstrip()                        去掉字符右边的空格和回车换行符
    str.strip()                         去掉字符两边的空格和回车换行符
    str.partition(substr)               从substr出现的第一个位置起,将str分割成一个3元组。
    str.replace(str1,str2,num)          查找str1替换成str2,num是替换次数
    str.rfind(str[,beg,end])            从右边开始查询子字符串
    str.rindex(str,[beg,end])           从右边开始查找子字符串位置 
    str.rpartition(str)                 类似partition函数,不过从右边开始查找
    str.translate(str,del=‘‘)           按str给出的表转换string的字符,del是要过虑的字符

    math模块

      
    ceil 取大于等于x的最小的整数值,如果x是一个整数,则返回x
    copysign 把y的正负号加到x前面,可以使用0
    cos 求x的余弦,x必须是弧度
    degrees 把x从弧度转换成角度
    e 表示一个常量
    exp 返回math.e,也就是2.71828的x次方
    expm1 返回math.e的x(其值为2.71828)次方的值减1
    fabs 返回x的绝对值
    factorial 取x的阶乘的值
    floor: 取小于等于x的最大的整数值,如果x是一个整数,则返回自身
    fmod 得到x/y的余数,其值是一个浮点数
    frexp 返回一个元组(m,e),其计算方式为:x分别除0.5和1,得到一个值的范围
    fsum 对迭代器里的每个元素进行求和操作
    gcd 返回x和y的最大公约数
    hypot 如果x是不是无穷大的数字,则返回True,否则返回False
    isfinite 如果x是正无穷大或负无穷大,则返回True,否则返回False
    isinf 如果x是正无穷大或负无穷大,则返回True,否则返回False
    isnan 如果x不是数字True,否则返回False
    ldexp 返回x*(2**i)的值
    log 返回x的自然对数,默认以e为基数,base参数给定时,将x的对数返回给定的base,计算式为:log(x)/log(base)
    log10 返回x的以10为底的对数
    log1p 返回x+1的自然对数(基数为e)的值
    log2 返回x的基2对数
    modf 返回由x的小数部分和整数部分组成的元组
    pi 数字常量,圆周率
    pow 返回x的y次方,即x**y
    radians 把角度x转换成弧度
    sin 求x(x为弧度)的正弦值
    sqrt 求x的平方根
    tan 返回x(x为弧度)的正切值
    trunc 返回x的整数部分

    urllib模块

    urllib.quote(string[,safe])             对字符串进行编码。参数safe指定了不需要编码的字符
    urllib.unquote(string)                  对字符串进行解码
    urllib.quote_plus(string[,safe])        与urllib.quote类似,但这个方法用‘+‘来替换‘ ‘,而quote用‘%20‘来代替‘ ‘
    urllib.unquote_plus(string )            对字符串进行解码
    urllib.urlencode(query[,doseq])         将dict或者包含两个元素的元组列表转换成url参数。
    #例如 字典{‘name‘:‘wklken‘,‘pwd‘:‘123‘}  将被转换为”name=wklken&pwd=123″
    urllib.pathname2url(path)               将本地路径转换成url路径
    urllib.url2pathname(path)               将url路径转换成本地路径
    urllib.urlretrieve(url[,filename[,reporthook[,data]]]) 下载远程数据到本地
    #filename:指定保存到本地的路径(若未指定该,urllib生成一个临时文件保存数据)
    #reporthook:回调函数,当连接上服务器、以及相应的数据块传输完毕的时候会触发该回调
    #data:指post到服务器的数据
    urllib.urlopen(url[,data[,proxies]])    抓取网页信息,[data]post数据到Url,proxies设置的代理
    
    
    urlrs.readline()                      跟文件对象使用一样
    urlrs.readlines()                     跟文件对象使用一样
    urlrs.fileno()                        跟文件对象使用一样
    urlrs.close()                         跟文件对象使用一样
    urlrs.info()                          返回一个httplib.HTTPMessage对象,表示远程服务器返回的头信息
    urlrs.getcode()                       获取请求返回状态HTTP状态码
    urlrs.geturl()                        返回请求的URL


    原文链接:https://blog.csdn.net/qq_45070541/article/details/101079613#t3
  • 相关阅读:
    枚举转SelectList扩展方法
    关于Log4Net的使用和配置
    关于Task的认识
    Android Studio 创建不同分辨率的图标
    Android 修改应用图标(Android Studio)
    Android 去除应用标题栏(Android Studio)
    Android Studio 快捷键
    Java 构造器 遇到多个构造器时要考虑用构建器
    Java 构造器 考虑用静态构造方法代替构造器
    Java 深复制和浅复制
  • 原文地址:https://www.cnblogs.com/eihouwang/p/14226770.html
Copyright © 2020-2023  润新知