python开发案例教程-清华大学出版社(张基温)答案(2.6)

目录

练习2.6

1、选择题

2、判断题

3、程序设计题


练习2.6


1、选择题


(1) 为进行读操作,打开二进制文件 abe 的正确语句是。__B____
A. open (abc,b)                            B. open(abc', 'rb)

C. open(abc', 'r+')                        D. open(abc', r')

(2) 函数 open0的作用不包括__D____。
A. 读写对象是二进制文件,还是文本文件
B. 读写模式是只读、读写、添加,还是修改
C. 建立程序与文件之间的通道
D. 是顺序读写,还是随机读写


(3) 为进行写入,打开文本文件 flel.txt 的正确语句是____A_____
A. f1 = open('file1.txt', 'a')                                  B. f1 = open('file1', 'w')
C. f1 = open('file1', 'r+')                                       D. f1  = open('file1.txt', 'w+')

(4)下列不是文件对象写方法的是。__D__
A.write()                        B.writeline()                 C.writelines()                D. writefile()


(5) 以下文件打开方式中,两种打开效果相同的是_____AB______
A. open(filename,'r')                                 B. open(filename,'w+')
C. open(filename,'rb')                               D. open(filename,'w')


2、判断题

(1) 在 open()函数的打开方式中,有“+”,表示文件对象创建后,将进行随机读写。无“+”,表示文件对象创建后,将进行顺序读写。                                                                        ()
(2) close()函数的作用是关闭文件。                                                                        ()

close 函数的主要作用是关闭文件


(3) 在 Python 中,显式关闭文件没有实际意义。                                                ()

未能显式关闭资源,会让资源打开时长远超预期;在退出 Python 时可能会导致严重问题。


(4) 用 read()方法可以设定一次要读出的字节数量。设计这个数量的合适原则: 一次尽可能多读:如果需要,最好全读:如一次不能读完,则可按缓冲区大小读取。                        ()


3、程序设计题


(1)建立一个存储人名的文件,输入时不管大小写,但在文件中的每个名字都以首字母大写、其余宁母小写的格式存放。


def normalize_name(name):
    return name.capitalize()


if __name__ == '__main__':
    # 建立一个存储人名的文件,输入时不管大小写,
    # 但在文件中的每个名字都以首字母大写、其余宁母小写的格式存放。
    file_name = "./name.txt"
    while True:
        names = str(input("请输入人名,当输入q时退出:"))
        if names != 'q':
            with open(file_name, 'a') as file:
                normalized_name = normalize_name(names)
                file.write(normalized_name + '\n')
        else:
            sys.exit(0)


(2)有两个文件 a.txt 和 b.txt,先将两个文件中的内容按照字母表顺序排序,然后创建一个文件 c.txt,存储为 a.txt 与 b.txt 按照字母表顺序合并后的内容。

def merge_files(file_a, file_b, merged_file):
    # 打开文件 a.txt 和 b.txt
    with open(file_a, 'r', encoding='utf-8') as file_a, open(file_b, 'r', encoding='utf-8') as file_b:
        # 读取文件 a.txt 和 b.txt 的内容
        file_a_content = file_a.readlines()
        file_b_content = file_b.readlines()

        # 对两个文件的内容进行排序
    sorted_content = sorted(file_a_content + file_b_content)

    # 创建一个新的文件 c.txt,并写入排序后的内容
    with open(merged_file, 'w', encoding='utf-8') as merged_file:
        for line in sorted_content:
            merged_file.write(line)

        # 调用函数 merge_files(),实现 a.txt 和 b.txt 文件的合并


if __name__ == '__main__':
    merge_files('./a.txt', './b.txt', './c.txt')

你可能感兴趣的:(python开发案例教程,python,开发语言)