美文网首页
python常用模块错题

python常用模块错题

作者: 飞鸟在笼 | 来源:发表于2019-03-21 20:30 被阅读0次

    1.python2中保存在内存中的代码内容编码格式都是其本身的编码 类型,而python3中都会被转换为unicode编码。

    2.reverse方法只对一级元素进行反向排序,reverse方法没有返回值。

    3.我们在开发过程中经常能够使用到模块这个知识,python中使用模块的好处是()

    A使用模块的好处是避免变量和函数的冲突

    使用模块的好处是可重用

    D使用模块的好处是便于维护

    4.我们将我们写好的功能封装在一个模块中,在不是同一个目录的条件下,别的文件下想要导入使用,正确的是()

    A添加到os.path中然后import

    Cfrom…import...

    5.在我们学习中有一个模块可以帮我获取到当前的时间,time.time()这种获取到的字符串内容我们都称它为时间戳.

    6.我们在通过pip install命令安装了第三方模块但是不知道版本,python中查看模块命令是()。pip show

    7.python中的时间模块最开始我们使用的时候返回的是一个时间戳,要将时间戳转换成结构化时间用time模块的____方法(不加括号) time.localtime

    8.我们使用datetime模块来获取(2018-05-22) 这样格式的当前日期方法是datetime.datetime.today().________(不加括号) date

    我们使用的datetime.datetime.today().date()方法就可以获取到2018-05-22

    9.random.choice从序列中获取一个随机元素。其函数原型为:random.choice(sequence)参数sequence表示一个类型()

    A可迭代

    C有序

    D可变的

    10. 我们都知道python中支持很多第三方的模块,以下对random描述正确的是()

    B可写验证码

    C随机数

    D可写发红包

    11.我 们在写代码的时候会有去除文件名的需求,我们知道os模块中提供这个方法,这个方法是os.path.dirname

    12.os模块下有这获取我们想要的某个路径下的文件的基名,要使用到os模块下的那个方法os.path.basename

    13.os.mkdir() 方法用于以数字权限模式创建目录。默认的模式为 777(八进制)。

    14.我们使用os.stat功能能够获取当前文件的详细信息,在多个关键字中st_atime代表的意思是()

    C文件上次访问时间

    15.读一下代码(os.rename),以下中正确的结果是()

    Users

    └── coding

    └── python

    ├── hello.py - 文件

    ├── word.py - 文件

    └── web - 目录

    import os

    if os.rename("hello.py","hello2.py"):

    print('098K')

    elif os.rename("hello2.py","hello.py"):

    print('6666')

    else:

    print('erro')

    B  erro

    正确答案是B,因为os.rename没有返回值所以打印出来的是erro

    16.通过sys.path方法获取的内容可以使用下列哪些方法()

    Acount()

    Bindex()

    Cinsert()

    Dappend()

    sys.path获取到的就是一个列表,所以都可以使用

    17.在python中print 会调用 sys.stdout 中的write 方法.

    18.读以下代码(sys模块, python2中),运行结果是_____ hello

    import sys

    sys.stdout.write('hello'+'\n')

    19.在python中通过代码获取当前系统平台应该使用sys.platform方法

    20.copyfile( src, dst) 从源src复制到dst中去。当然前提是目标地址是具备可写权限。抛出的异常信息为IOException. 如果当前的dst已存在的话将原文件覆盖

    21.在shutil模块中shutil.copyfileobj(fsrc, fdst[, length])中fsrc,fdst,length分别对应的是

    新文件,

    源文件,

    一次读取多少内容

    22.我们在使用shutil模块中有个可以递归copy多个目录到指定目录下这个方法是shutil.copytree

    23.在shutil模块中可以进行可以递归删除目录下的目录及文件的方法是shutil.rmtree

    24.shutil模块中有个压缩文件的方法是shutil.make_archive,这个方法中root_dir参数一下描述正确的是

    要压缩的文件路径

    25.在sys模块中有个sys.getdefaultencoding()方法可以获取当前操作系统,这句话描述的不正确的

    26.time.clock()在不同的系统上含义不同。在UNIX系统上,它返回的是“进程时间”,它是用秒表示的浮点数(时间戳)。而在WINDOWS中,第一次调用,返回的是进程运行的实际时间。而第二次之后的调用是自第一次调用以后到现在的运行时间。(实际上是以WIN32上QueryPerformanceCounter()为基础,它比毫秒表示更为精确)这个描述正确吗_______(正确/不正确) 正确

    27.读以下代码,(time.strftime)选择正确结果()

    import time

    x = time.localtime(1492012800.0)

    print (time.strftime('%Y-%m-%d %H:%M:%S',x))

    D2017-04-13 00:00:00

    28.读以下代码(datetime指定时间),以下格式正确的是()

    import datetime

    today = datetime.date.today()

    first = datetime.date(day=1, month=today.month, year=today.year)

    lastMonth = first - datetime.timedelta(days=1)

    print(lastMonth)

    D2018-05-28 00:00:00

    首先获取当前的时间,然后进行减法运算.求出最新的格式化时间

    29.在sys模块中有个方法可以知道线程切换时间间隔,默认是0.005秒这个方法是sys.setswitchinterval()

    30.sys模块中返回异常信息三元元组,这个方法是sys.exc_info

    31. re模块的findall方法使用非常广泛,以下关于findall方法说法正确的是():

    A匹配全局字符串,不是从头开始匹配

    B输出结果类型是列表

    D匹配规则可以是空字符串

    32.请仔细阅读以下代码,并从A,B,C,D四个选项中选出代码的执行结果():

    import re

    example = 'egonallaalll'

    r = re.findall('al*al+', example)

    print(r)

    ['aalll']

    解         析:本题就是在考察对量词匹配次数的熟悉程度,*是匹配0次或多次,虽然是贪婪匹配,但是字符串 中出现了两个a相邻的情况,所以匹配0次,故选C。

    34.import re

    example = '-allex-egon-alvin-'

    r = re.findall('-.*?-', example)

    print(r)

    B['-allex-', '-alvin-']

    35.请仔细阅读以下关于compile方法的示例代码,

    import re

    e1 = "Tina is a good girl, "

    e2 = "she is cool, clever, and so on"

    e3 = "she is so hot"

    rr = re.compile(r'\w*oo\w*')

    e_list = [e1, e2, e3]

    for item in e_list:

        print(rr.findall(item))

    A第一次打印结果是['good']

    C本题是要查找所有包含'oo'的单词

    D最后一次打印结果是空列表

    36.请仔细阅读下面这段代码,并且从四个选项中选择你认为说法正确的是():

    import re

    s = 'hello blue go go hello'

    p = re.compile(r'\b(\w+)\b\s+\1\b')

    print(re.findall(p, s))

    A这段代码是匹配字符串中连续出现的两个相同的单词

    B输出结果是['go']

    D匹配规则中的\1指代的就是前面的(\w+)

    37. 请仔细阅读下面这段代码,关于执行结果的描述你认为正确的是():

    import re

    s = 'c1c b2b c3c'

    p = re.compile(r'^c(\d)c')

    p2 = re.compile(r'\Ac(\d)c')

    p3 = re.compile(r'c(\d)c$')

    p4 = re.compile(r'c(\d)c\Z')

    print(p.findall(s))

    print(p2.findall(s))

    print(p3.findall(s))

    print(p4.findall(s))

    A输出结果的数据类型都是列表

    B第三次的打印结果是['3']

    D第一次的打印结果是['1']

    38. 下列选项关于re模块的fullmatch方法描述中,你认为正确的是():

    Afullmatch方法匹配不成功时返回None

    Cfullmatch方法匹配成功时会返回一个对象

    Dfullmatch方法的匹配原则是从字符串开头到结尾的完整匹配

    39.请仔细阅读以下这段代码,并从四个选项中选择你认为对执行结果描述正确的是():

    import re

    ret = re.fullmatch('ab(121)', 'ab121')

    print(ret)

    print(ret.group())

    print(ret.groups())

    ret1 = re.fullmatch('ab12', 'ab121')

    print(ret1)

    A第二次的输出结果是ab121

    C最后一次输出None

    40. 请从以下A,B,C,D四个选项中选出对于python中的序列化表述正确的是():

    A整数可以被序列化

    Cpython中的生成器可以被pickle模块序列化

    Dpython的迭代器都可以被pickle模块序列化

    解         析:整数和布尔值也是对象,所以可以被序列化,python中的生成器和迭代器都是对象,都可以被 pickle模块序列化,json模块只能序列化特定的数据类型。

    41.请在以下A,B,C,D四个选项中选择对于python中的json模块的load和dump方法表述正确的是():

    Ajson模块的dump方法最少需要2个参数

    D一般我们不建议对一个对象dump多次

    解         析:json模块的dump方法可以直接写到文件中,所以必须要传递被序列化的对象以及文件对象;dump 是序列化方法,load是反序列化方法,故B和C是错误的;一般是不建议对同一个对象dump多次,因为在使用 load方法反序列化时可能会出问题。

    42. 请仔细阅读下面这段代码,选出下面的四个选项中你认为表述正确的是():

    import pickle

    with open('abc.pkl', 'wb') as f:

        dic = {'age': 23, 'job': 'student'}

        e = pickle.dump(dic, f)

        print(e)

    with open('abc.pkl', 'rb') as f:

        aa = pickle.load(f)

        print(aa)

        print(type(aa))

    A第二行的打印结果是{'age': 23, 'job': 'student'}

    B第一行的打印结果是None

    解析:pickle模块的dump方法返回值就是None,dumps方法返回的是字节类型,不是字符串,所以文件对 象必须以字节模式读取,不能以'w'模式写入,否则是会报错的。

    43.基于你对json模块和pickle模块的学习,以下四个选项中关于两者区别的表述正确的是():

    Bpickle模块可以序列化python的所有数据类型

    Cpickle模块只能在python内部使用

    Dpickle模块可以序列化函数

    44. python中的xml模块可以自动生成xml文件,请阅读以下代码,关于代码执行后生成的xml文件下列 选项表述正确的是():

    from xml.etree import ElementTree as ET

    def build_sitemap():

        urlset = ET.Element("urlset")

        url = ET.SubElement(urlset,"url")

        loc = ET.SubElement(url,"loc")

        loc.text = "http://www/baidu.com"

        lastmod = ET.SubElement(url,"lastmod")

        lastmod.text = "2017-10-10"

        changefreq = ET.SubElement(url,"changefreq")

        changefreq.text = "daily"

        priority = ET.SubElement(url,"priority")

        priority.text = "1.0"

        tree = ET.ElementTree(urlset)

        tree.write("sitemap.xml", xml_declaration=True)

    if __name__ == '__main__':

        build_sitemap()

    A生成的xml文件是带有版本信息的

    B根节点的tag属性是urlset

    Curl节点中的第三个子节点tag属性是changefreq

    45.基于你对json模块的dumps方法的学习,下列关于dumps中的参数表述正确的是():

    Aensure_ascii参数可以帮我们保留序列化后的中文字符

    Bsort_keys参数表示序列化时是否对dict的key进行排序

    Cindent参数可以设置数据存储的格式

    Dseparators参数也可以优化数据存储格式,重新指定分隔符,从而去除无用的空白字符

    相关文章

      网友评论

          本文标题:python常用模块错题

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