# 文件
# 选择题
# 1. 题目
(多选) | |
关于CSV格式文件,下列说法正确的是( ) | |
A.每行表示一个一维数据,多行表示二维数据 | |
B.必须要含列名,而且列名放置在文件第一行 | |
C.纯文本格式,通过单一编码表示字符 | |
D.以逗号分隔每列数据,列数据为空也要保留逗号 |
答案:ACD
选项 A:正确,CSV 文件的结构就是每行表示一个一维数据,多行表示二维数据。
选项 B:错误,CSV 文件不一定必须包含列名,是否包含列名取决于具体应用场景。
选项 C:正确,CSV 是纯文本格式,可以使用单一编码(如 UTF-8)表示字符。
选项 D:正确,CSV 文件使用逗号分隔每列数据,即使列数据为空也要保留逗号作为分隔符。
# 2. 题目
关于read,readline和readlines说法正确的是( ) | |
A.readlines 读取整个文件到一个迭代器以供我们遍历 | |
B.read 读取整个文件 | |
C.使用read,readline和readlines之前必须先用open打开文件,但不用显示指明打开模式‘r’ | |
D.readline 读取下一行,使用生成器方法 |
答案:B
选项 A:错误,readlines () 返回的是列表而非迭代器。
选项 B:正确,read () 方法在不指定参数时会读取整个文件内容。
选项 C:错误,表述过于绝对,二进制文件需要显式指定 'r' 或 'rb' 模式。
选项 D:错误,readline () 不是生成器方法,它每次调用只读取一行内容。
# 3. 题目
以下选项中不是Python文件操作方法的是( ) | |
A.readline() | |
B.read() | |
C.readtext() | |
D.readlines() |
答案:C
选项 A:readline () 是文件操作方法,用于读取一行内容。
选项 B:read () 是文件操作方法,用于读取文件内容。
选项 C:readtext () 不是标准的 Python 文件操作方法,正确的方法是 read ()。
选项 D:readlines () 是文件操作方法,用于读取所有行并返回列表。
# 判断题
# 1. 题目
以写模式打开的文件无法进读操作。 ( ) |
答案:对
解析:以写模式('w')打开的文件只能进行写操作,不能进行读操作。如果需要同时读写,可以使用 'r+'、'w+' 或 'a+' 模式。
# 2. 题目
二进制文件也可以使用记事本或其他文本编辑器打开,但是一般来说无法正常查看其中的内容。( ) |
答案:对
解析:二进制文件可以用文本编辑器打开,但由于其内容是二进制数据,通常会显示为乱码,无法正常查看。
# 3. 题目
对字符串信息进行编码以后,必须使用同样的或者兼容的编码格式进行解码才能还原本来的信息。( ) |
答案:对
解析:字符串编码和解码必须使用相同或兼容的编码格式,否则会出现乱码或解码错误。
# 4. 题目
文本文件是可以迭代的,可以使用for line in fp类似的语句遍历文件对象fp中的每一行。( ) |
答案:对
解析:在 Python 中,文本文件对象是可迭代的,可以直接用 for 循环遍历文件的每一行。
# 5. 题目
使用pickle进行序列化得到的二进制文件使用struct也可以正确地进行反序列化。( ) |
答案:错
解析:pickle 和 struct 是不同的序列化模块,它们使用不同的格式存储数据,不能互相反序列化。
# 6. 题目
使用内置函数open()且以”w”模式打开的文件,文件指针默认指向文件尾。( ) |
答案:错
解析:以 'w' 模式打开文件时,文件指针默认指向文件开头,且会清空文件内容。
# 填空题
# 1. 题目
已知当前文件夹中有纯英文文本文件readme.txt,请填空完成功能把readme.txt文件中的所有内容复制到dst.txt中, | |
with open('readme.txt') as src, open('dst.txt', ______) as dst: | |
dst.write(src.read())。 |
答案:'w'
解析:open 函数使用 'w' 模式表示以写模式打开文件,这样可以将内容写入到 dst.txt 中。