美文网首页
2.系统模块上

2.系统模块上

作者: 芝麻酱的简书 | 来源:发表于2018-08-15 13:48 被阅读6次
    time时间模块
    struct_localTime = time.localtime()
    print(struct_localTime.tm_year)
    print(struct_localTime)
    
    # 结构化时间
    struct_time = time.gmtime()
    print(struct_time)
    
    # 将结构化时间转为时间戳
    timeStamp = time.mktime(time.localtime())
    print(timeStamp)
    
    # 将结构化时间转为字符串时间
    str_time = time.strftime('%Y-%m-%d %X',time.localtime())
    print(str_time)
    
    #将字符串时间转为结构化时间
    new_struct_tiem = time.strptime('2016:12:12:17:30:12','%Y:%m:%d:%X')
    print(new_struct_tiem)
    
    # 将结构化时间转为固定的格式
    print(time.asctime())
    # 将字符串时间转为固定的格式
    print(time.ctime())
    
    datetime模块
    import datetime
    
    print(datetime.datetime.now())
    
    # 打印:2018-08-15 10:31:03.353421
    

    随机模块random
    import random
    # 取0到1浮点型
    random_n = random.random()
    print(random_n)
    # 0.3599807964622119
    
    limit_random = random.randint(1, 6)
    print(limit_random)
    # 1到6随机数
    
    # 从列表中去一个数,概率为1/3
    r_random = random.choice([1, 2, 3])
    print(r_random)
    
    # 从列表中取一系列数   取三个数字
    s_random = random.sample([1, 2, 3, 4, 5, 66], 3)
    print(s_random)
    
    
    # 取任意范围的浮点型
    u_random = random.uniform(1, 6)
    print(u_random)
    
    # 打乱列表顺序
    list1 = [1, 2, 3, 4, 5]
    new = random.shuffle(list1)
    print(list1)
    

    demo: 取随机验证码

    import random
    
    def getRandomCode():
        result = ''
        for i in range(5):
            num = random.randint(0, 9)
            asc_char = random.randint(65, 122)
            char = chr(asc_char)
            s = str(random.choice([num, char]))
            result += s
    
        return result
    
    
    result = getRandomCode()
    print(result)
    

    解决路径引用问题

    import os, sys
    
    if __name__ == '__main__':
    
        # 文件的路径
        print(__file__)
        # 文件的绝对路径
        abs_path = os.path.abspath(__file__)
    
        # os.path.dirname 查找上一层目录
        self_path = os.path.dirname(abs_path)
        print(self_path)
    
        BATH_DIR = os.path.dirname(self_path)
        print(BATH_DIR)
        # 临时添加目录
        sys.path.append(BATH_DIR)
        
    

    os模块
    # 当前工作路径
     print(os.getcwd())
    # 改变当前路径
     print(os.chdir('..'))
     print(os.getcwd())
    ...
    

    sys模块

    argv获取用户输入参数

    import os, sys
    
    if __name__ == '__main__':
    
        print(sys.argv)
        path = sys.argv[0]
        command = sys.argv[1]
    

    进度条:

    import time, sys
    
    if __name__ == '__main__':
    
        for i in range(100):
            # 向屏幕输出 会缓存
            sys.stdout.write('#')
            time.sleep(0.1)
            # 立即输出缓存内容
            s
    

    json模块

    符合json规则的字符串:必须使用双引号["key":"value"]

    import json
    
    if __name__ == '__main__':
    
        dict1 = {'name': 'bill'}
        # 使用单引号会自动转为双引号
        jsonStr = json.dumps(dict1)
        print(jsonStr , type(jsonStr))
    
        raw = json.loads(jsonStr)
        print(raw , type(raw))
    

    pickle模块

    同json相似,不过dump结果是bytes字节
    序列化结果,不可读
    pickle可序列化的种类比json更多


    shelve模块
    import shelve
    
    if __name__ == '__main__':
    
        # 生成固定三个文件,并存入已经序列化的数据
        f = shelve.open(r"new_file")
        f["name"] = "alex"
        f["age"] = 18
        f.close()
    
       ######### 分割线 #########
    
        file1 = shelve.open(r"new_file")
        # 取值
        name = file1.get("name")
    

    XML模块

    标签语言

    # 简写
    import xml.etree.cElementTree as ET
    
    tree = ET.parse("xml_lesson")
    root = tree.getroot()
    # 获取标签名字
    root_tag = root.tag
    # 获取标签属性
    root_attr = root.attrib
    
    for i in root:
    
        subNode = i
    
    
    # 遍历修改某一标签
    for node in root.iter("year"):
        new_year = int(node.text) + 1
        node.text = str(new_year)
        # 新增一个标签
        node.set("updated", "yes")
        
        
    # 写入文件内容
    tree.write("xml_lesson")
    
    
    # 删除标签
    for counrtyNode in root.findall("country"):
        rank = int(counrtyNode.find("rand").text)
        if rank > 50:
            root.remove(counrtyNode)
            
            
    # 写入文件内容
    tree.write("xml_lesson")
    

    创建xml文件:

    # 简写
    import xml.etree.cElementTree as ET
    
    # 创建xml
    
    # 创建跟标签
    new_xml = ET.Element("root")
    name = ET.SubElement(new_xml,"name",attrib={"ecrolled":"yes"})
    name.text = "bill"
    
    # 生成文档对象
    et = ET.ElementTree(new_xml)
    et.write("test.xml",encoding="utf-8",xml_declaration=True)
    # 打印生成的格式
    ET.dump(new_xml)
    

    相关文章

      网友评论

          本文标题:2.系统模块上

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