【MK】Python全栈 阶段一:习题汇总 八:文件操作

本文是关于Python全栈学习的第一阶段习题汇总,主要涵盖文件操作和序列化的知识点。内容包括单选题和多选题,涉及文件的创建、写入、读操作,以及json、pickle和yaml等序列化方法。提供了编程练习和相关代码示例,如Test.yaml和06_yaml.py。

版权声明:本文为博主原创文章,未经博主允许不得转载。



一、单选题

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.exists(path)
【EI复现】基于主从博弈的新型城镇配电系统产消者竞价策略【IEEE33节点】(Matlab代码实现)内容概要:本文介绍了基于主从博弈理论的新型城镇配电系统中产消者竞价策略的研究,结合IEEE33节点系统,利用Matlab进行仿真代码实现。该研究聚焦于电力市场环境下产消者(既生产又消费电能的主体)之间的博弈行为建模,通过构建主从博弈模型优化竞价策略,提升配电系统运行效率与经济性。文中详细阐述了模型构建思路、优化算法设计及Matlab代码实现过程,旨在复现高水平期刊(EI收录)研究成果,适用于电力系统优化、能源互联网及需求响应等领域。; 适合人群:具备电力系统基础知识和定Matlab编程能力的研究生、科研人员及从事能源系统优化工作的工程技术人员;尤其适合致力于电力市场博弈、分布式能源调度等方向的研究者。; 使用场景及目标:① 掌握主从博弈在电力系统产消者竞价中的建模方法;② 学习Matlab在电力系统优化仿真中的实际应用技巧;③ 复现EI级别论文成果,支撑学术研究或项目开发;④ 深入理解配电系统中分布式能源参与市场交易的决策机制。; 阅读建议:建议读者结合IEEE33节点标准系统数据,逐步调试Matlab代码,理解博弈模型的变量设置、目标函数构建与求解流程;同时可扩展研究不同市场机制或引入不确定性因素以增强模型实用性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

InitialHeart2021

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值