python常用模块错题

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

python常用模块错题_第1张图片

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常用模块错题)