当前位置: 首页 > news >正文

python之文件操作

文件的读取、修改、写入
知识点:不可以使用for循环生成变量,替代方式:将每次循环生成的数据添加到列表中,再对列表进行操作
例子:根据输入的环境名称操作hosts文件,注释掉其他环境

#env1
127.0.0.1
127.0.0.2#env2
127.0.0.3
127.0.0.4#env3
127.0.0.5
127.0.0.6
def choose_env():env = input("请输入环境名称:")key = '#'+env+'\n'host_list = []env_list = []with open('hosts.txt',mode='r') as fr:# 将每个环境切成一个列表l = fr.readlines()n = l.count('\n')# print('n',n)for i in range(n):host_list.append(l[:l.index('\n')+1])l = l[l.index('\n')+1:]host_list[i].remove('\n')host_list.append(l)# 如果输入不存在的环境名称,提示并退出for i in range(len(host_list)):env_list.append(host_list[i][0])# print(env_list)if key not in env_list:print("输入错误,环境不存在!")return# 寻找目标环境for i in range(len(host_list)):# 如果存在目标环境且被注释,解除注释if key in host_list[i]:if host_list[i][1].startswith('#'):for j in range(1,len(host_list[i])):host_list[i][j] = host_list[i][j].replace('#','')# 如果非目标环境且已注释,跳过if key not in host_list[i] and host_list[i][1].startswith('#'):pass# 如果非目标环境且未注释if key not in host_list[i] and not host_list[i][1].startswith('#'):# 对列表进行注释for j in range(1, len(host_list[i])):host_list[i][j] = '#'+host_list[i][j]with open('hosts.txt','w') as fw:for i in range(len(host_list)):for j in range(len(host_list[i])):fw.write(host_list[i][j])if i+1<len(host_list):fw.write('\n')fw.close()print("修改成功!")choose_env()
http://www.lryc.cn/news/238927.html

相关文章:

  • android实时投屏软件QtScrcpy
  • LeetCode - 622. 设计循环队列(C语言,顺序存储结构,配图)
  • 在 Qt 框架中,有许多内置的信号可用于不同的类和对象\triggered
  • springBoot中starter
  • Linux学习笔记-Ubuntu下使用Crontab设置定时任务
  • 动态规划求数组中相邻两数的最小差值( 即相差的绝对值 ) java 实现
  • webGL开发微信小游戏
  • leetcode面试经典150题——29 三数之和
  • 数据分析基础之《jupyter notebook工具》
  • Android Studio Error “Unsupported class file major version 61“---异常信息记录
  • javaScript 内存管理
  • Idea2023 Springboot web项目正常启动,页面展示404解决办法
  • Android手机如何用Charles抓包HTTPS接口
  • Oracle for Windows安装和配置——Oracle for Windows net配置
  • C#中.NET 7.0 Windows窗体应用通过EF访问已有数据库并实现追加、删除、修改、插入记录
  • 【文末送书】计算机网络 | IO多路转接技术 | poll/epoll详解
  • 【Linux】 uptime命令使用
  • 数学建模-图与网络模型解题方法和代码实现
  • 宏集新闻 | 虹科传感器事业部正式更名为宏集科技
  • DataFunSummit:2023年数据基础架构峰会-核心PPT资料下载
  • 解析大型语言模型的训练、微调和推理的运行时性能
  • MAX/MSP SDK学习06:内存管理
  • python网络通信之基础知识填坑
  • 【腾讯云云上实验室-向量数据库】腾讯云开创新时代,发布全新向量数据库Tencent Cloud VectorDB
  • 【图像分类】【深度学习】【Pytorch版本】GoogLeNet(InceptionV4)模型算法详解
  • opencv dots_image_kernel
  • 使用pytorch利用神经网络原理进行图片的训练(持续学习中....)
  • 2023年中国合成云母行业现状及市场格局分析[图]
  • Vue3+Vite实现工程化,插值表达式和v-text以及v-html
  • 艾泊宇产品战略:灵感于鬼屋,掌握打造卓越用户体验的关键要素