zoukankan      html  css  js  c++  java
  • python 模块 练习题

    如何安装第三方模块?以及用过哪些第三方模块?

    1:pip包管理器
    2:源码下载
        -下载
        -解压
    -python setup.py build
    -python setup.py install
    
    
    re模块 正则匹配
    os模块 文件相关
    json模块 pick  网络传输
    time模块 记录时间
    hashlib模块 加密模块
    logging模块 记录日志
    
    爬虫里面的requests/beautifulsoup4(bs4)
    

    re的match和search区别?

    re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。
    
    re.search 扫描整个字符串并返回第一个成功的匹配。
    

    什么是正则的贪婪匹配?

    匹配一个字符串没有节制,能匹配多少就去匹配多少,知道没有匹配的为止

    logging模块的作用?以及应用场景?

    logging 
    模块定义的函数和类为应用程序和库的开发实现了一个灵活的事件日志系统
    
    作用:可以了解程序运行情况,是否正常
        在程序的出现故障快速定位出错地方及故障分析
    

    os和sys模块的作用?

    os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口;
    sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境。

    这个模块可供访问由解释器使用或维护的变量和与解释器进行交互的函数。
    os 常用方法
    os.remove() 删除文件
    os.rename() 重命名文件
    os.walk() 生成目录树下的所有文件名
    os.chdir() 改变目录
    os.mkdir/makedirs 创建目录/多层目录
    os.rmdir/removedirs 删除目录/多层目录
    os.listdir() 列出指定目录的文件
    os.getcwd() 取得当前工作目录
    os.chmod() 改变目录权限
    os.path.basename() 去掉目录路径,返回文件名
    os.path.dirname() 去掉文件名,返回目录路径
    os.path.join() 将分离的各部分组合成一个路径名
    os.path.split() 返回( dirname(), basename())元组
    os.path.splitext() 返回 (filename, extension) 元组
    os.path.getatimectimemtime 分别返回最近访问、创建、修改时间
    os.path.getsize() 返回文件大小
    os.path.exists() 是否存在
    os.path.isabs() 是否为绝对路径
    os.path.isdir() 是否为目录
    os.path.isfile() 是否为文件
    sys 常用方法
    sys.argv 命令行参数List,第一个元素是程序本身路径
    sys.modules.keys() 返回所有已经导入的模块列表
    sys.exc_info() 获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息
    sys.exit(n) 退出程序,正常退出时exit(0)
    sys.hexversion 获取Python解释程序的版本值,16进制格式如:0x020403F0
    sys.version 获取Python解释程序的版本信息
    sys.maxint 最大的Int值
    sys.maxunicode 最大的Unicode值
    sys.modules 返回系统导入的模块字段,key是模块名,value是模块
    sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
    sys.platform 返回操作系统平台名称
    sys.stdout 标准输出
    sys.stdin 标准输入
    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版本
    总结:
    os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口;
    sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境。
    

    如何生成一个随机数?

    import random
     
    print(random.random())          # 用于生成一个0到1的随机符点数: 0 <= n < 1.0
    print(random.randint(1, 1000))  # 用于生成一个指定范围内的整数
    

    如何使用python删除一个文件?

    import os
    file = r'D:	est.txt'
    if os.path.exists(file):
        os.remove(file)
        print('delete success')
    else:
        print('no such file:%s' % file)
    

    json序列化时,可以处理的数据类型有哪些?如何定制支持datetime类型?

    自定义时间序列化转换器
    import json
    from json import JSONEncoder
    from datetime import datetime
    class ComplexEncoder(JSONEncoder):
        def default(self, obj):
            if isinstance(obj, datetime):
                return obj.strftime('%Y-%m-%d %H:%M:%S')
            else:
                return super(ComplexEncoder,self).default(obj)
    d = { 'name':'alex','data':datetime.now()}
    print(json.dumps(d,cls=ComplexEncoder))
    # {"name": "alex", "data": "2018-05-18 19:52:05"}
    

    json序列化时遇到中文会默认转换成unicode ,如何让他保留中文形式

    import json
    a=json.dumps({"ddf":"你好"},ensure_ascii=False)
    print(a) #{"ddf": "你好"}
    

    使用代码实现查看列举目录下的所有文件。

    import os
     
    def dirpath(lpath, lfilelist):
        list = os.listdir(lpath)
        for f in list:
            file = os.path.join(lpath, f)  #拼接完整的路径
            if os.path.isdir(file):        #判断如果为文件夹则进行递归遍历
                dirpath(file, lfilelist)
            else:
                lfilelist.append(file)
        return lfilelist
     
     
    lfilelist = dirpath(os.getcwd(), [])
    for f in lfilelist:
        print(f)
    
  • 相关阅读:
    SLAM+语音机器人DIY系列:(二)ROS入门——3.在ubuntu16.04中安装ROS kinetic
    SLAM+语音机器人DIY系列:(二)ROS入门——2.ROS系统整体架构
    2017年 年计划
    125. Valid Palindrome
    一道多树递归面试题
    顺序表查找和有序表查找
    c++中常见概念、关键字等的区别
    两个栈实现一个队列,两个队列实现一个栈
    150. Evaluate Reverse Polish Notation
    堆排序
  • 原文地址:https://www.cnblogs.com/saoqiang/p/12453735.html
Copyright © 2011-2022 走看看