版权声明:本文为博主原创文章,未经博主允许不得转载。
文章目录
一、单选题
1.以追加模式打开一个文件,若文件不存在则创建用于读写的该文件,应使用下列哪种访问模式( C)
- A .w+ 【打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。】
- B .ab 【以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入】
- C .a+ 【打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。【读写模式的追加】】
- D .r+ 【打开一个文件用于读写。文件指针将会放在文件的开头。】
2.关于 yaml 文件下列选项中描述错误的是( D )
- A .yaml文件在读取后得到的是字典类型的数据
- B .yaml文件也属于文本类型的文件
- C .yaml文件经常用于一些定义好不常修改的内容,如服务配置文件
- D .yaml文件使用load()读取文件后返回的是字符串类型的数据 【字典类型的数据】
二、多选题
1.下列关于文件打开时的访问模式,写法错误的是( A D)
- A .+ 【×】
- B .a+
- C .rb+
- D .wa+ 【×】
三、练习题
3.1 文件的创建与写入
import os
# 获取当前路径
current_path = os.getcwd()
print(current_path)
# 创建文件, 写入内容
f = open(current_path + '/' + 'Test_01.txt', 'w')
f.write('Hello 小慕')
f.close()
# 写入模式:w 之前写入的内容被删除
path = os.path.join(current_path, 'Test_01.txt')
f = open(path, 'w')
f.write('你好,小慕')
f.close()
# 写入模式:w+ 之前的内容被删除
f = open(path, 'w+')
f.write('你好 dewei')
f.close()
# 写入模式:w 不可以读取
f = open(path, 'w')
f.write('welcome IMOOC')
f.close()
# 写入模式:w+ 可以读取
f = open(path, 'w+')
f.write('I will to 51CTO')
print(f.read()) # 写完之后,读取文件的最后一个字符 ''
print(f.seek(0))
print(f.read()) # 这回都读取出来了
# ab模式:可以写入,不可以读取 追加内容
f = open(path, 'ab')
message = 'Python很有意思' # 转成比特类型
_message = message.encode('utf-8')
f.write(_message)
f.close()
# a+模式: 未换行 追加内容
f = open(path, 'a+')
f.write('1\n')
f.write('2\n')
f.close()
# a 模式: 追加内容
l = ['今天天气很好\n', '适合学Python\n', 'Python是非常简单的编程语言\n']
f = open(path, 'a')
f.writelines(l)
f.close()
3.2 文件的创建与写入:open函数
import os
def create_package(path):
if os.path.