《Python语言程序设计》王恺 王志 机械工业出版社 第七章 I/O编程与异常 课后习题答案

7.7 课后习题
(1)利用 os 模块查看当前系统的名字,应当使用 os.name 。

(2)利用 os 模块获取当前系统平台路径的分隔符,应当使用 os.sep 。

(3) 利用 os 模块获取当前工作目录,应当使用 os.getcwd 方法。

(4)利用 os 模块创建目录,可以使用 os.mkdir 方法或 os.makedirs 方法。

(5)判断指定路径目标是否是文件的方法是 os.path.isfile 。

(6)os 模块中判断指定路径是否存在的方法是 os.path.exists 。

(7)根据文件对象的 closed 属性可以判断文件是否已关闭。

(8)使用文件对象的 seek 方法可以移动文件指针,从而实现文件的随机读写。

(9)使用 writer 对象的 writerow 方法或 writerows 方法可以向 CSV 文件中写入数据。

(10)os 模块中用于依次创建路径中所有不存在的目录的方法是( A )。

         A. makedirs        B. makedir          C. mkdirs           D. mkdir

(11)下面说法中,错误的是( B )。

         A. 如果要创建的目录已经存在,则 os.mkdir 函数会报错

         B. 如果要创建的目录已经存在,则 os.makedirs 函数不会报错

         C. 如果要删除的目录不存在,则 os.rmdir 函数会报错

         D. 如果要删除的目录已存在但目录不为空,则 os.rmdir 函数会报错

(12)os 模块中用于删除指定路径的最后多层目录的方法是( A )。

         A. removedirs          B. removedir          C. rmdirs           D. rmdir

(13) open 函数的默认打开方式是( C )。

         A. w              B. w+           C. r             D. r+

(14)下面文件文件打开方式中,不能对打开的文件进行写操作的是( C )。

         A. w              B. wt            C. r             D. a

(15)要从文件中按行读取所有数据,则应使用( D )方法。

         A. read          B. readall        C. readline           D. readlines

(16)无论 try 子句执行时是否发生异常,都会执行的子句是( B )。

         A. else           B. finally          C. except            D. 不存在

(17)写出下面程序的运行结果。

for i in range(3):
    try:
        num=(i+1)*5
        assert num%2!=0
        print(num)
    except AssertionError:
        print('断言失败!num=%d'%num)
 
 
#输出结果
5
断言失败!num=10
15
(18)写出下面程序的运行结果。

import os
for n in os.path.split('D:\\mydir\\subdir1\\test.txt'):
    print(n)
 
 
#输出结果
D:\mydir\subdir1
test.txt
(19)下面程序在 D 盘的 mydir 目录下创建一个名字为 test.txt 的文件并向文件中写入字符串“南开大学”,请将程序填写完整。

with open('D:\\mydir\\test.txt','w+') as f:
    f.write('南开大学')
(20)下面程序在 D 盘的 mydir 目录下创建一个名字为 score.csv 的文件,并将 2 名学生的 3 门课程成绩写入到文件中,请将程序填写完整。

import csv #导入 csv 模块
data2D=[[90,98,87], #第 1 名学生的 3 门课程成绩
[70,89,92]]  #第 2 名学生的 3 门课程成绩
with open('D:\\mydir\\score.csv','w',newline='') as f: #打开文件
    csvwriter=csv.writer(f)
    csvwriter.writerow(['语文','数学','英语']) #先将列标题写入 CSV 文件
    csvwriter.writerows(data2D) #将二维列表中的数据写入 CSV 文件
(21)下面的 UserError 是自定义的异常类,请将程序填写完整。

class UserError(BaseException):
    def __init__(self,msg): #定义构造方法
        self.msg=msg
    def __str__(self):  #将 UserError 类对象转换为字符串时自动调用
        return self.msg

猜你喜欢

转载自blog.csdn.net/weixin_49647262/article/details/122028343