zoukankan      html  css  js  c++  java
  • Python学习杂记_14_模块(二)_常用模块

    常用模块 

    random 模块

    import random

    print(random.random()) # 随机浮点数,默认取0-1,不能指定范围
    print(random.randint(1, 20)) # 随机整数
    print(random.randrange(1, 20)) # 随机产生一个range
    print(random.choice([1,2,3,4,5])) # 随机取一个元素
    print(random.sample([1,2,3,4,'6'], 3)) # 从序列中随机取几个元素,返回的是一个list
    print(random.uniform(1, 88888)) # 随机取浮点数,可以指定范围

    x = [1, 2, 3, 4, 5, 6]
    random.shuffle(x) # 洗牌,打乱顺序,会改变原list的值

    import string
    print(string.ascii_letters + string.digits) # 所有的数字和字母
    print(random.randint(1, 20)) # 随机整数
    print(random.choice([1,2,3,4,5])) # 随机取一个元素
    print(random.sample('hello', 3)) # 从序列中随机取几个元素,返回的是一个list
    print(random.uniform(1, 88888)) # 随机取浮点数,可以指定范围
    x = [1, 2, 3, 4, 5, 6]
    random.shuffle(x) # 洗牌,打乱顺序,会改变原list的值
    print(x)


    Json模块

    import json
    # json很像python的字典类型,但是json里面只能是双引号,不能是单引号,json串实际上就是一个字符串

    json_str = """
    {
    "username": "niuhanyang",
    "passwd": 123456,
    "flag": true
    }
    """
    fr = open('users')
    json_dic = json.loads(json_str) #json串(字符串)转成字典,loads方法是把json转成字典
    json_dic_file = json.load(fr) #json串(字符串)转成字典,load方法是传入一个文件对象,然后load方法自动去读这个文件的内容,然后转成字典

    print(json_dic_file)
    print(type(json_dic_file))

    d = {
    "hhh": {
    "price": "90000",
    "password": "123456"
    },
    "admin": {
    "password": "123456",
    "money": 8000
    }
    }

    fw = open('users.json','w')
    dic_str = json.dumps(d) #把字典变成json串(字符串)
    json.dump(d,fw)
    print(dic_str)
    print(type(dic_str))

    注意:
    #json可以用字典和list, 换言之,字典和list都可以被json序列化,json.loads(str)方法的参数既可以是字典格式的字符串,也可以是列表格式的字符串,
       当参数是字典格式的字符串时,返回结果是字典;当参数是列表格式的字符串时,返回结果扔是list.
    #dump和dumps字典转json串的
    #load和loads是json串转字典
    #带s就和字符串沾边,不带s和文件对象沾边

    os 模块

    import os

    print(os.getcwd())   # 获取当前工作目录
    os.chdir(r"E:上课homeworkdq-classing")   # 更改当前目录
    print(os.getcwd())
    os.mkdir("test1")   # 在当前路径下创建空目录
    os.makedirs("test2 est3")   # 在当前路径下创建父子目录
    os.rmdir("test1")   # 删除空目录,目录不为空或目录不存在报错
    os.removedirs(r"test2 est3")   # 删除目录里及其里面的内容
    os.remove(r"test1a.txt")   # 删除文件
    os.rename("test1", "test2")    # 目录重命名
    os.rename(r"test2a.txt", "test2qqq.txt")   # 文件重命名
    print(os.sep)   # 获取当前操作系统的路径分隔符
    print(__file__)   # 代表当前文件,返回的是当前文件全名(绝对路径+文件名)
    print(os.path.abspath('Beijing'))    # 获取绝对路径
    print(os.path.dirname(__file__))   # 获取父目录
    print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
    print(os.path.join("root", "haha", "a.log")) # 拼接成一个路径
    print(os.path.exists("Beijing"))   # 判断某文件或目录是否存在
    print(os.path.exists(r"E:上课homeworkdq-classing est2qqq.txt"))
    print(os.path.isfile("Beijing"))   # 判断是否是文件
    print(os.path.isdir("test2"))   # 判断是否是文件

    sys模块

    import sys

    sys.argv     # 命令行参数列表,第一个元素是程序本身及路径
    sys.exit("XXX")     # 退出程序并显示字符串,正常退出时 exit(0) 或 exit()
    print(sys.version)     # 获取Python解释程序的版本信息
    sys.path     # 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量
    print(sys.platform)     # 返回操作系统平台的名称

    time 模块
    常用的一种是时间戳、一种是格式化时间、一种是时间元组
    import datetime, time

    print(time.timezone) # 和标准时间相差的时间,单位是s
    print(int(time.time())) # 获取当前时间戳
    #时间戳的意思就是从unix元年(1970.1.1),到现在的秒数。
    print(time.sleep(1)) # 休息几s
    print(time.gmtime()) # 把时间戳转换成标准时区的时间元组,如果不传的话,默认取标准时区的时间戳
    print(time.localtime()) # 把时间戳转换成当前时区的时间元组,如果不传的话,默认取当前时区的时间戳
    print(time.mktime(time.localtime())) # 把时间元组转换成时间戳
    print(time.strftime("%Y.%m.%d %H:%M:%S")) # 将当前时间元组转换成格式化输出的字符串
    # %Y年 %m月份 %d天 %H小时 %M代表是分钟 %S代表的是秒

    print(time.strptime("20160204191919", "%Y%m%d%H%M%S")) # 将格式化的时间转换成时间元组,年月日时分秒一样也不能少
    print(time.struct_time) # 时间元组
    print(time.asctime()) # 时间元组转换成格式化时间,格式固定为"Thu Jun 22 10:57:17 2017"
    print(time.ctime(149776000)) # 时间戳转换成格式化时间
    print(datetime.datetime.now()) # 当前时间格式化输出,格式如 "2017-06-22 11:10:15.976853"
    print(datetime.datetime.now() + datetime.timedelta(3)) # 3天后的时间
    print(datetime.datetime.now() + datetime.timedelta(-3)) # 3天前的时间
  • 相关阅读:
    国际标准:ISO 8601
    Python中文问题SyntaxError
    主人与狗
    三星Galaxy note I9220 N7000 刷机ROOT工具及ROM下载
    电子书下载:Pro ASP.NET 4 in C# 2010
    Rad Studio IDE 代码编辑器增强工具 RADSplit
    电子书下载:Essential Windows Phone 7.5
    3D成像法:抖动
    减小delphi生成EXE文件体积的方法
    unisynedit 在Delphi 2010下的编译问题
  • 原文地址:https://www.cnblogs.com/houzhizhe/p/7059263.html
Copyright © 2011-2022 走看看