Python程序设计题库——第八章
第八章
一. 单选题(共51题,51分)
- 关于Python对文件的处理,以下选项中描述错误的是( )
- A. 当文件以文本方式打开时,读写按照字节流方式
- B. Python能够以文本和二进制两种方式处理文件
- C. Python通过解释器内置的open()函数打开一个文件
- D. 文件使用结束后要用close()方法关闭,释放文件的使用授权
答案:A
- 以下选项中,不是Python对文件的读操作方法的是( )
- A. read
- B. readline
- C. readtext
- D. readlines
答案:C
- 以下选项中,不是Python对文件的打开模式的是( )
- A. 'w'
- B. 'r'
- C. '+'
- D. 'c'
答案:D
- 关于数据组织的维度,以下选项中描述错误的是( )
- A. 数据组织存在维度,字典类型用于表示一维和二维数据
- B. 高维数据由键值对类型的数据构成,采用对象方式组织
- C. 一维数据采用线性方式组织,对应于数学中的数组和集合等概念
- D. 二维数据采用表格方式组织,对应于数学中的矩阵
答案:A
- 关于Python文件打开模式的描述,以下选项中错误的是( )
- A. 追加写模式a
- B. 只读模式r
- C. 覆盖写模式w
- D. 创建写模式n
答案:D
- 关于CSV文件的描述,以下选项中错误的是( )
- A. *CSV文件的每一行是一维数据,可以使用Python中的列表类型表示
- B. 整个CSV文件是一个二维数据
- C. *CSV文件格式是一种通用的、相对简单的文件格式,应用于程序之间转移表格数据
- D. *CSV文件通过多种编码表示字符
答案:D
- 关于Python文件的 '+' 打开模式,以下选项中描述正确的是( )
- A. 与r/w/a/x一同使用,在原功能基础上增加同时读写功能
- B. 读模式
- C. 追加写模式
- D. 覆盖写模式
答案:A
- 表格类型数据的组织维度是( )
- A. 高维数据
- B. 一维数据
- C. 多维数据
- D. 二维数据
答案:D
- “键值对”类型数据的组织维度是( )
- A. 高维数据
- B. 二维数据
- C. 多维数据
- D. 一维数据
答案:A
- 给定列表ls = {1, 2, 3, "1", "2", "3"},其元素包含两种数据类型,则ls的数据组织维度是( )
- A. 多维数据
- B. 二维数据
- C. 高维数据
- D. 一维数据
答案:D
- 给定字典d = {1:"1", 2:"2", 3: "3"},其元素包含两种数据类型,则字典d的数据组织维度是( )
- A. 二维数据
- B. 多维数据
- C. 高维数据
- D. 一维数据
答案:C
- 以下选项中,不是Python中文件操作的相关函数是( )
- A. open()
- B. read()
- C. load()
- D. write()
答案:C
- 以下选项中,不是Python中文件操作的相关函数是( )
- A. write()
- B. open()
- C. readlines()
- D. writeline()
答案:D
- 以下选项中,不是Python文件处理.seek()方法的参数是( )
- A. 0
- B. 1
- C. 2
- D. -1
答案:D
- 以下选项中,不是Python文件打开的合法模式组合是( )
- A. "r"
- B. "a"
- C. "+"
- D. "w"
答案:C
- 以下选项中,不是Python文件打开的合法模式组合是( )
- A. "a+"
- B. "t+"
- C. "r+"
- D. "w+"
答案:B
- 以下选项中,不是Python文件打开的合法模式组合是( )
- A. "br+"
- B. "wr"
- C. ""
- D. "bw"
答案:B
- 以下选项中,不是Python文件二进制打开模式的合法组合是( )
- A. "b"
- B. "x+"
- C. "bx"
- D. "bw"
答案:B
- 关于一维数据存储格式问题,以下选项中描述错误的是( )
- A. 一维数据可以采用CSV格式存储
- B. 一维数据可以采用直接相连形成字符串方式存储
- C. 一维数据可以采用分号分隔方式存储
- D. 一维数据可以采用特殊符号@分隔方式存储
答案:B
- 关于二维数据CSV存储问题,以下选项中描述错误的是( )
- A. CSV文件的每一行表示一个具体的一维数据
- B. CSV文件的每行采用逗号分隔多个元素
- C. CSV文件不是存储二维数据的唯一方式
- D. CSV文件不能包含二维数据的表头信息
答案:D
- 以下选项中,对CSV格式的描述正确的是( )
- A. CSV文件以英文特殊符号分隔元素
- B. CSV文件以英文逗号分隔元素
- C. CSV文件以英文空格分隔元素
- D. CSV文件以英文分号分隔元素
答案:B
- 关于文件关闭的.close()方法,以下选项中描述正确的是( )
- A. 文件处理遵循严格的“打开—操作—关闭”模式
- B. 文件处理后可以不用.close()方法关闭文件,程序退出时会默认关闭
- C. 文件处理结束之后,一定要用.close()方法关闭文件
- D. 如果文件是只读方式打开,仅在这种情况下可以不用.close()方法关闭文件
答案:B
- 表达式",".join(ls)中ls是列表类型,以下选项中对其功能的描述正确的是( )
- A. 将逗号字符串增加到列表ls中
- B. 在列表ls每个元素后增加一个逗号
- C. 将列表所有元素连接成一个字符串,每个元素后增加一个逗号
- D. 将列表所有元素连接成一个字符串,元素之间增加一个逗号
答案:D
- 以下文件操作方法中,不能从CSV格式文件中读取数据的是( )
- A. readlines
- B. readline
- C. seek
- D. read
答案:C
- 以下文件操作方法中,不能向CSV格式文件写入数据的是( )
- A. seek和write
- B. writelines
- C. write
- D. writeline
答案:D
- 两次调用文件的write方法,以下选项中描述正确的是( )
- A. 连续写入的数据之间默认采用逗号分隔
- B. 连续写入的数据之间无分隔符
- C. 连续写入的数据之间默认采用空格分隔
- D. 连续写入的数据之间默认采用换行分隔
答案:B
- 表达式writelines(lines)能够将一个元素是字符串的列表lines写入文件,以下选项中描述正确的是( )
- A. 列表lines中各元素之间无分隔符
- B. 列表lines中各元素之间默认采用逗号分隔
- C. 列表lines中各元素之间默认采用换行分隔
- D. 列表lines中各元素之间默认采用空格分隔
答案:A
- 关于open()函数的文件名,以下选项中描述错误的是( )
- A. 文件名不能是一个目录
- B. 文件名对应的文件可以不存在,打开时不会报错
- C. 文件名可以是相对路径
- D. 文件名可以是绝对路径
答案:B
- Python语句:f = open(),以下选项中对f的描述错误的是( )
- A. 将f当作文件对象,f.read()可以读入文件全部信息
- B. 表达式print(f)执行将报错
- C. *f是一个Python内部变量类型
- D. *f是文件句柄,用来在程序中表达文件
答案:B
- 使用open()打开一个Windows操作系统D盘下的文件,以下选项中对路径的表示错误的是( )
- A. D:\PythonTest\a.txt
- B. D://PythonTest//a.txt
- C. D:\PythonTest\a.txt
- D. D:/PythonTest/a.txt
答案:A
- 当前程序路径在D:\PythonTest目录中,使用open()打开D盘根目录下文件,以下选项中对路径的表示错误的是( )
- A. D:\a.txt
- B. D:\a.txt
- C. ../a.txt
- D. ..//a.txt
答案:B
- 以下选项对应的方法可以用于从CSV文件中解析一二维数据的是( )
- A. split()
- B. format()
- C. exists()
- D. join()
答案:A
- 以下选项对应的方法可以用于向CSV文件写入一二维数据的是( )
- A. split()
- B. strip()
- C. exists()
- D. join()
答案:D
- 以下选项对应的方法可以辅助用于从CSV文件中解析二维数据的是( )
- A. count()
- B. strip()
- C. format()
- D. center()
答案:B
- 关于CSV文件的扩展名,以下选项中描述正确的是( )
- A. 可以为任意扩展名
- B. 扩展名只能是.txt
- C. 扩展名只能是.csv
- D. 扩展名只能是.dat
答案:A
- 关于文件的打开方式,以下选项中描述正确的是( )
- A. 文件只能选择二进制或文本方式打开
- B. 所有文件都可能以文本方式打开
- C. 文本文件只能以文本方式打开
- D. 所有文件都可能以二进制方式打开
答案:D
- 对于特别大的数据文件,以下选项中描述正确的是( )
- A. 选择内存大的计算机,一次性读入再进行操作
- B. *Python可以处理特别大的文件,不用特别关心
- C. 使用for .. in..循环,分行读入,逐行处理
- D. Python无法处理特别大的数据文件
答案:C
- 关于高维数据,以下选项中描述错误的是( )
- A. 高维数据只能表达键值对数据
- B. “键值对”是高维数据的主要特征
- C. 高维数据可用于表达一二维数据
- D. 高维数据用来表达索引和数据之间的关系
答案:A
- 当打开一个不存在的文件时,以下选项中描述正确的是( )
- A. 文件不存在则创建文件
- B. 一定会报错
- C. 根据打开类型不同,可能不报错
- D. 不存在文件无法被打开
答案:C
- 关于数据维度,以下选项中描述错误的是( )
- A. 一维数据可能存在顺序,也可以没有顺序
- B. 数据维度包括一二维、多维和高维数据
- C. 所有数据都能用维度方式表示
- D. 图像由于存在长宽,所以图像数据是二维数据
答案:D
- 以下选项中不是文件操作函数或方法的是( )
- A. load
- B. read
- C. writelines
- D. readlines
答案:A
- 对于无序的一维数据,以下选项中描述错误的是( )
- A. 无序一维数据可以采用列表类型来表达
- B. 无序一维数据可以采用字典类型来表达
- C. 无序一维数据可以采用集合类型来表达
- D. 无序一维数据无法利用Python语言有效表达
答案:D
- 调用open函数可以打开指定文件,在open()函数中访问模式参数使用( )表示只读。
- A. ’ a’
- B. ’w+’
- C. ’r’
- D. ’w’
答案:C
- 下列哪项不是Python中对文件的读取操作( )
- A. read
- B. readall
- C. readlines
- D. readline
答案:B
- 在读写文件之前,必须通过以下哪个方法创建文件对象( )
- A. .create
- B. folder
- C. File
- D. open
答案:D
- 以下描述中错误的是( )项?
- A. .字符串的格式化,'{:.2f}'.format(math.pi) 与 '%.2f' % math.pi 在运算结果上相同。
- B. Python中的同一种序列互相之间可以进行比较,按照字典序进行排序,例如 (1, 2, 3, 4) < (1, 2, 4) 的运算结果是True。
- C. 打开一个文本文件,f = open('test.txt', 'r+'); 则 f.seek(5) 表示在打开的文件里寻找数字5。
- D. 打开一个文本文件,在对其进行读取,f = open('test.txt', 'r+'); f.read() ;read函数内不带参数是读取整个文本文件内容并返回
答案:C
- 以下关于 Python 文件的描述,错误的是( )
- A. open 函数的参数处理模式’b’表示以二进制数据处理文件
- B. open 函数的参数处理模式’+’表示可以对文件进行读和写操作
- C. readline 函数表示读取文件的下一行,返回一个字符串
- D. open 函数的参数处理模式’a’表示追加方式打开文件,删除已有内容
答案:D
- 给出如下代码: fname = input("请输入要打开的文件: ") fi = open(fname, "r") for line in fi.readlines(): print(line) fi.close() 以下选项中描述错误的是( )
- A. 通过fi.readlines()方法将文件的全部内容读入一个字典fi
- B. 用户输入文件路径,以文本文件方式读入文件内容并逐行打印
- C. 通过fi.readlines()方法将文件的全部内容读入一个列表fi
- D. 上述代码中fi.readlines()可以优化为fi
答案:A
- 执行如下代码: fname = input("请输入要写入的文件: ") fo = open(fname, "w+") ls = ["清明时节雨纷纷,","路上行人欲断魂,","借问酒家何处有?","牧童遥指杏花村。"] fo.writelines(ls) fo.seek(0) for line in fo: print(line) fo.close() 以下选项中描述错误的是( )
- A. *fo.seek(0)这行代码可以省略,不影响输出效果
- B. *fo.writelines(ls)将元素全为字符串的ls列表写入文件
- C. 代码主要功能为向文件写入一个列表类型,并打印输出结果
- D. 执行代码时,从键盘输入“清明.txt”,则清明.txt被创建
答案:A
- 关于下面代码中的变量x,以下选项中描述正确的是( ) fo = open(fname, "r") for x in fo: print(x) fo.close()
- A. 变量x表示文件中的一个字符
- B. 变量x表示文件中的全体字符
- C. 变量x表示文件中的一行字符
- D. 变量x表示文件中的一组字符
答案:C
- 以下程序的输出结果是( )
fo = open("text.csv",'w')
x =[[90,87,93],[87,90,89],[78,98,97]]
b = []
for a in x:
for aa in a:
b.append(str(aa))
fo. write(",".join(b))
fo.close()
fo = open("text.csv",'r')
print(fo.read())
- A. [90,87,93,87,90,89,78,98,97]
- B. (90,87,93 87,90,89 78,98,97)
- C. [[90,87,93], [87,90,89], [78,98,97]]
- D. 90,87,93,87,90,89,78,98,97
答案:D
二. 填空题(共9题,9分)
- 对文件进行写入操作之后,________方法用来在不关闭文件对象的情况下将缓冲区内容写入文件。
- 答案: flush()
- Python 内置函数________用来打开或创建文件并返回文件对象。
- 答案: open()
- 使用上下文管理关键字________可以自动管理文件对象, 不论何种原因结束该关键字中的语句块,都能保证文件被正确关闭。
- 答案: with
- Python标准库os 中用来列出指定文件夹中的文件和子文件夹列表的方法是________。
- 答案: listdir()
- Python标准库 os.path中用来判断指定文件是否存在的方法是________。
- 答案: exists()
- Python标准库 os.path 中用来判断指定路径是否为文件的方法是________。
- 答案: isfile()
- Python标准库 os.path中用来判断指定路径是否为文件夹的方法是________。
- 答案: isdir()
- Python标准库 os.path 中用来分割指定路径中的文件扩展名的方法是________。
- 答案: splitext()
- Python扩展库________支持Excel2007或更高版本文件的读写操作 。
- 答案: openpyxl
三. 判断题(共38题,40分)
- 扩展库os中的方法remove()可以删除带有只读属性的文件。
- A. 对
- B. 错
答案:错
- 使用内置函数open()且以”w”模式打开的文件,文件指针默认指向文件尾。
- A. 对
- B. 错
答案:错
- 使用内置函数open()打开文件时,只要文件路径正确就总是可以正确打开的。
- A. 对
- B. 错
答案:错
- 使用print()函数无法将信息写入文件。
- A. 对
- B. 错
答案:错
- 对文件进行读写操作之后必须显式关闭文件以确保所有内容都得到保存。
- A. 对
- B. 错
答案:对
- Python标准库os中的方法startfile()可以启动任何已关联应用程序的文件,并自动调用关联的程序。
- A. 对
- B. 错
答案:对
- Python标准库os中的方法startfile()可以用来打开外部程序或文件,系统会自动关联相应的程序来打开或执行指定的文件。
- A. 对
- B. 错
答案:对
- 假设os模块已导入,那么列表推导式 [filename for filename in os.listdir('C:\Windows') if filename.endswith('.exe')] 的作用是列出C:\Windows文件夹中所有扩展名为.exe的文件。
- A. 对
- B. 错
答案:对
- 二进制文件不能使用记事本程序打开。
- A. 对
- B. 错
答案:错
- 使用普通文本编辑器软件也可以正常查看二进制文件的内容。
- A. 对
- B. 错
答案:错
- 二进制文件也可以使用记事本或其他文本编辑器打开,但是一般来说无法正常查看其中的内容。
- A. 对
- B. 错
答案:对
- Python标准库os中的方法isfile()可以用来测试给定的路径是否为文件。
- A. 对
- B. 错
答案:对
- Python标准库os中的方法exists()可以用来测试给定路径的文件是否存在。
- A. 对
- B. 错
答案:对
- Python标准库os中的方法isdir()可以用来测试给定的路径是否为文件夹。
- A. 对
- B. 错
答案:对
- Python标准库os中的方法listdir()返回包含指定路径中所有文件和文件夹名称的列表。
- A. 对
- B. 错
答案:对
- Python扩展库xlwt支持对Excel 2003或更低版本的Excel文件进行写操作。
- A. 对
- B. 错
答案:对
- Python扩展库xlrd支持对Excel 2003或更低版本的Excel文件进行读操作。
- A. 对
- B. 错
答案:对
- 标准库os的rename()方法可以实现文件移动操作。
- A. 对
- B. 错
答案:对
- 标准库os的listdir()方法默认只能列出指定文件夹中当前层级的文件和文件夹列表,而不能列出其子文件夹中的文件。
- A. 对
- B. 错
答案:对
- 文件对象的tell()方法用来返回文件指针的当前位置。
- A. 对
- B. 错
答案:对
- 以写模式打开的文件无法进读操作。
- A. 对
- B. 错
答案:对
- 假设已成功导入os和sys标准库,那么表达式os.path.dirname(sys.executable)的值为Python安装目录。
- A. 对
- B. 错
答案:对
- 以读模式打开文件时,文件指针指向文件开始处。
- A. 对
- B. 错
答案:对
- 以追加模式打开文件时,文件指针指向文件尾。
- A. 对
- B. 错
答案:对
- 二进制文件也可以使用记事本程序打开,只是无法正确阅读和理解其中的内容。
- A. 对
- B. 错
答案:对
- 文本文件是可以迭代的,可以使用for line in fp类似的语句遍历文件对象fp中的每一行。
- A. 对
- B. 错
答案:对
- Python的主程序文件属于二进制文件。
- A. 对
- B. 错
答案:对
- 对字符串信息进行编码以后,必须使用同样的或者兼容的编码格式进行解码才能还原本来的信息。
- A. 对
- B. 错
答案:对
- 使用pickle进行序列化得到的二进制文件使用struct也可以正确地进行反序列化。
- A. 对
- B. 错
答案:错
- 已知当前文件夹中有一个文件具有只读属性,假设标准库os已正确导入,那么可以通过语句os.chmod(‘readme.txt’, 0o777)来删除该文件的只读属性。
- A. 对
- B. 错
答案:对
- Python标准库os的函数remove()不能删除具有只读属性的文件。
- A. 对
- B. 错
答案:对
- fi=fopen("t.txt","r+") 执行后只能对"t.txt"文件进行读操作
- A. 对
- B. 错
答案:错
- 二进制文件也可以使用记事本或其他文本编辑器打开,但是一般来说无法正常查看其中的内容
- A. 对
- B. 错
答案:对
- 使用Python内置的open函数打开某个文件的时候,如果该文件不存在,则可能产生异常。所以一定要使用try except对其进行处理
- A. 对
- B. 错
答案:错
- open("test.txt", 'r+')是以只读模式打开test.txt文件
- A. 对
- B. 错
答案:错
- 文本文件是可以迭代的,可以使用for line in fp类似的语句遍历文件对象fp中的每一行
- A. 对
- B. 错
答案:对
- Python内置的open函数,打开文件的时候可能会产生异常
- A. 对
- B. 错
答案:对
- 以读模式打开文件时,文件指针指向文件开始处
- A. 对
- B. 错
答案:对
欢迎查阅