当前位置: 首页 > 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()

相关文章:

python之文件操作

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

android实时投屏软件QtScrcpy

QtScrcpy 可以通过 USB / 网络连接Android设备&#xff0c;并进行显示和控制。无需root权限。 同时支持 GNU/Linux &#xff0c;Windows 和 MacOS 三大主流桌面平台。 QtScrcpy: Android实时投屏软件&#xff0c;此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制…...

LeetCode - 622. 设计循环队列(C语言,顺序存储结构,配图)

目录 ​编辑定义结构体&#xff1a; 1. MyCircularQueue(k): 构造器&#xff0c;设置队列长度为 k 2. Front: 从队首获取元素。如果队列为空&#xff0c;返回 -1 3. Rear: 获取队尾元素。如果队列为空&#xff0c;返回 -1 4. enQueue(value): 向循环队列插入一个元素。…...

在 Qt 框架中,有许多内置的信号可用于不同的类和对象\triggered

在 Qt 框架中&#xff0c;有许多内置的信号可用于不同的类和对象 以下是一些常见的内置信号的示例&#xff1a; clicked()&#xff1a;按钮&#xff08;QPushButton、QToolButton 等&#xff09;被点击时触发的信号。 pressed() 和 released()&#xff1a;按钮被按下和释放时…...

springBoot中starter

springBoot项目中引入starter 项目引入xxljob&#xff0c;仅需要导入对应的starter包&#xff0c;即可进行快速开发 <dependency><groupId>com.ydl</groupId><artifactId>xxl-job-spring-boot-starter</artifactId><version>0.0.1-SNAPS…...

Linux学习笔记-Ubuntu下使用Crontab设置定时任务

文章目录 一、概述二、基于crontab的设置2.1 基本命令说明2.2 使用-e指令编辑命令2.2.1 进入编辑模式2.2.2 指令信息格式2.2.4 开启日志1) 修改rsyslog配置文件2) 重启rsyslog3) 查看日志 2.2.3 设置后之后重启服务 三、示例3.1 每隔一分钟往文件中日期3.2 使用-l查看任务列表3…...

动态规划求数组中相邻两数的最小差值( 即相差的绝对值 ) java 实现

算法的核心是&#xff1a;计算当前数和前一个数的差值,用该差值和以前最小的连续数的差值作比较&#xff1b;如果当前的差值更小&#xff0c;则发现了更小的连续数的差值&#xff1b;如果当前的差值更大&#xff0c;则沿用以前的最小连续数差值作为新的最小连续数差值。 MinDif…...

webGL开发微信小游戏

WebGL 是一种用于在浏览器中渲染 2D 和 3D 图形的 JavaScript API。微信小游戏本质上是在微信环境中运行的基于 Web 技术的应用&#xff0c;因此你可以使用 WebGL 来开发小游戏。以下是基于 WebGL 开发微信小游戏的一般步骤&#xff0c;希望对大家有所帮助。北京木奇移动技术有…...

leetcode面试经典150题——29 三数之和

题目&#xff1a;盛最多水的容器 描述&#xff1a; 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意…...

数据分析基础之《jupyter notebook工具》

一、安装库 1、linux库 yum install python3-devel 2、python库 pip3 install -U matplotlib pip3 install -U numpy pip3 install -U pandas pip3 install -U TA-Lib pip3 install -U tables pip3 install -U notebook 3、如果TA-Lib安装不上&#xff0c;先手动安装依赖库 …...

Android Studio Error “Unsupported class file major version 61“---异常信息记录

编译时异常信息 原因及解决办法 问题出在JAVA 17上&#xff0c;并且使用的Gradle JDK是&#xff1a;Android Studio java home版本17.0.1将其更改为&#xff1a;Android Studio默认JDK版本11.0.10 即可解决 操作步骤 1 2 3...

javaScript 内存管理

1 js 内存机制 内存空间&#xff1a;栈内存&#xff08;stack&#xff09;、堆内存&#xff08;heap&#xff09; 栈内存&#xff1a;所有原始数据类型都存储在栈内存中&#xff0c;如果删除一个栈原始数据&#xff0c;遵循先进后出&#xff1b;如下图&#xff1a;a 最先进栈&…...

Idea2023 Springboot web项目正常启动,页面展示404解决办法

Idea2023 Springboot web项目正常启动,页面展示404解决办法 问题&#xff1a; 项目启动成功&#xff0c;但是访问网页&#xff0c;提示一直提示重定向次数过多&#xff0c;404 解决方法 在IDEA的Run/Debug Configurations窗口下当前的Application模块的Working directory中添…...

Android手机如何用Charles抓包HTTPS接口

对Charles的安装和使用&#xff0c;这里就不重复介绍了&#xff0c;之前有介绍Charles工具。 本文重点介绍在Android手机上如何配置抓包环境 1.获取Charles配置 去Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser 查…...

Oracle for Windows安装和配置——Oracle for Windows net配置

2.3. Oracle for Windows net配置 2.3.1. Oracle net配置 2.3.1.1. Oracle net简介 前述章节中,我们只是安装了数据库软件,创建了数据库,测试在服务器本地连接查询数据库。但还不能通过网络远程连接访问数据库,因为我们还没配置用来远程连接访问该数据库的组件Oracle ne…...

C#中.NET 7.0 Windows窗体应用通过EF访问已有数据库并实现追加、删除、修改、插入记录

目录 一、前言 1.Database.ExecuteSqlCommand 方法不被EF7.0支持 2.SET IDENTITY_INSERT Blog {ON,OFF}不起作用 3.主键和标识列分离&#xff0c;成功实现插入与修改 二、新建本文涉及的项目 三、程序设计 1.Form1.cs源码 2.Form1.cs[设计] 四、生成和测试 1.原始表 …...

【文末送书】计算机网络 | IO多路转接技术 | poll/epoll详解

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和…...

【Linux】 uptime命令使用

uptime 正常运行时间提供以下信息的单行显示。当前时间、系统运行的时间、当前登录的用户数量以及过去1、5和15分钟的系统平均负载。 语法 uptimeuptime命令 -Linux手册页 作者 由Larry Greenfield编写和迈克尔K约翰逊编写。 命令选项及作用 执行令 man uptime 执行命令结…...

数学建模-图与网络模型解题方法和代码实现

本文针对以下几个方面问题进行整理&#xff1a; 最短路问题 两个指定顶点之间的最短路径任意顶点之间的最短路径 2.最小生成树问题 求最小生成树 3.网络最大流问题 源点与汇点之间的最大流基于最大流的最小费用求解 4.旅行商问题 基于哈密顿(Hamilton)圈求解旅行商线性…...

宏集新闻 | 虹科传感器事业部正式更名为宏集科技

致一直支持“虹科传感器”的朋友们&#xff1a; 为进一步整合资源&#xff0c;给您带来更全面、更优质的服务&#xff0c;我们非常荣幸地宣布&#xff0c;虹科传感器事业部已正式更名为宏集科技。这一重要的改变代表了虹科持续发展进程中的新里程碑&#xff0c;也体现了我们在传…...

ESXi插USB存储不识别?真相+替代方案(新手一看就会)

在ESXi虚拟机运维中&#xff0c;很多新手会尝试插入USB存储设备&#xff08;U盘、移动硬盘&#xff09;&#xff0c;用于传输文件、扩展存储或备份数据&#xff0c;但常常遇到“插上去完全不识别”的问题。其实核心原因很简单&#xff1a;ESXi系统对USB存储设备的支持本身就非常…...

ISCC-pwn(2026)

复现一下 文章目录校赛练武pwn1pwn2pwn3pwn4总结校赛练武 pwn1 32位泄露canary后&#xff0c;栈溢出到后门即可。 from pwn import * context.terminal ["tmux","splitw","-h"] context.log_level debugpprocess(./attachment-5) #premote(3…...

多模态模型评估新基准:Rebus Puzzles测试集构建与应用

1. 项目背景与核心价值最近在整理多模态模型评估方法时&#xff0c;发现现有基准测试大多集中在常规的图文匹配任务上&#xff0c;很少有针对复杂视觉推理能力的专项测评。这让我想起小时候玩过的Rebus Puzzles&#xff08;画谜&#xff09;——那些用图像组合来暗示词语或短语…...

如何在 matlab 中调用 taotoken 平台的多模型 api 接口

如何在 MATLAB 中调用 Taotoken 平台的多模型 API 接口 基础教程类&#xff0c;面向使用 MATLAB 进行科学计算或算法开发的工程师&#xff0c;介绍如何利用 Taotoken 提供的 OpenAI 兼容 API 在 MATLAB 环境中集成大模型能力&#xff0c;重点说明如何设置 API 密钥与 base_url…...

终极QQ空间历史说说备份指南:GetQzonehistory完整使用教程

终极QQ空间历史说说备份指南&#xff1a;GetQzonehistory完整使用教程 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否担心QQ空间里那些珍贵的青春记忆会随着时间流逝而消失&…...

生成阶段优化:Prompt 模板与上下文窗口管理

系列导读 你现在看到的是《RAG 检索增强生成系统设计:从原理到生产级部署的完整实践》的第 6/10 篇,当前这篇会重点解决:教会读者如何让 LLM 在生成阶段精准利用检索到的信息,避免生成偏离事实。 上一篇回顾:第 5 篇《检索策略进阶:混合检索与重排序(HyDE + Reranker)…...

别再被‘Refused to execute script’卡住了!手把手教你用Nginx/Apache配置搞定MIME类型错误

彻底解决前端部署中的MIME类型错误&#xff1a;Nginx与Apache实战指南 当你满怀期待地将精心开发的前端应用部署到服务器&#xff0c;却在浏览器控制台看到刺眼的"Refused to execute script"错误时&#xff0c;那种挫败感我深有体会。这个看似简单的MIME类型问题&am…...

别再只会用DAQ助手了!手把手教你用LabVIEW DAQmx函数搭建高性能数据采集系统

突破图形化限制&#xff1a;用LabVIEW DAQmx函数构建工业级数据采集系统 在工业自动化与测试测量领域&#xff0c;数据采集系统的性能往往直接决定整个项目的成败。许多工程师初识LabVIEW时&#xff0c;都会从直观的DAQ助手&#xff08;DAQ Assistant&#xff09;开始&#xff…...

Fluent动网格实战:从活塞运动到心脏模拟的5个工程案例详解

Fluent动网格实战&#xff1a;从活塞运动到心脏模拟的5个工程案例详解 在计算流体动力学&#xff08;CFD&#xff09;领域&#xff0c;动网格技术正成为模拟运动边界问题的关键工具。想象一下&#xff0c;当工程师需要分析活塞在气缸内的运动如何影响燃烧效率&#xff0c;或者…...

告别串口调试:用LabVIEW TCP通信快速搭建ESP32无线调试上位机(保姆级避坑)

基于LabVIEW与ESP32的无线调试系统实战指南 引言 在嵌入式开发领域&#xff0c;调试环节往往占据整个开发周期的30%以上时间。传统串口调试方式虽然简单直接&#xff0c;但存在物理连接限制、波特率瓶颈和实时性不足等问题。ESP32作为一款集成Wi-Fi和蓝牙功能的微控制器&#x…...