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之文件操作
文件的读取、修改、写入 知识点:不可以使用for循环生成变量,替代方式:将每次循环生成的数据添加到列表中,再对列表进行操作 例子:根据输入的环境名称操作hosts文件,注释掉其他环境 #env1 127.0.0.1 127.0.…...
android实时投屏软件QtScrcpy
QtScrcpy 可以通过 USB / 网络连接Android设备,并进行显示和控制。无需root权限。 同时支持 GNU/Linux ,Windows 和 MacOS 三大主流桌面平台。 QtScrcpy: Android实时投屏软件,此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制…...
LeetCode - 622. 设计循环队列(C语言,顺序存储结构,配图)
目录 编辑定义结构体: 1. MyCircularQueue(k): 构造器,设置队列长度为 k 2. Front: 从队首获取元素。如果队列为空,返回 -1 3. Rear: 获取队尾元素。如果队列为空,返回 -1 4. enQueue(value): 向循环队列插入一个元素。…...
在 Qt 框架中,有许多内置的信号可用于不同的类和对象\triggered
在 Qt 框架中,有许多内置的信号可用于不同的类和对象 以下是一些常见的内置信号的示例: clicked():按钮(QPushButton、QToolButton 等)被点击时触发的信号。 pressed() 和 released():按钮被按下和释放时…...
springBoot中starter
springBoot项目中引入starter 项目引入xxljob,仅需要导入对应的starter包,即可进行快速开发 <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 实现
算法的核心是:计算当前数和前一个数的差值,用该差值和以前最小的连续数的差值作比较;如果当前的差值更小,则发现了更小的连续数的差值;如果当前的差值更大,则沿用以前的最小连续数差值作为新的最小连续数差值。 MinDif…...
webGL开发微信小游戏
WebGL 是一种用于在浏览器中渲染 2D 和 3D 图形的 JavaScript API。微信小游戏本质上是在微信环境中运行的基于 Web 技术的应用,因此你可以使用 WebGL 来开发小游戏。以下是基于 WebGL 开发微信小游戏的一般步骤,希望对大家有所帮助。北京木奇移动技术有…...
leetcode面试经典150题——29 三数之和
题目:盛最多水的容器 描述: 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 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安装不上,先手动安装依赖库 …...
Android Studio Error “Unsupported class file major version 61“---异常信息记录
编译时异常信息 原因及解决办法 问题出在JAVA 17上,并且使用的Gradle JDK是:Android Studio java home版本17.0.1将其更改为:Android Studio默认JDK版本11.0.10 即可解决 操作步骤 1 2 3...
javaScript 内存管理
1 js 内存机制 内存空间:栈内存(stack)、堆内存(heap) 栈内存:所有原始数据类型都存储在栈内存中,如果删除一个栈原始数据,遵循先进后出;如下图:a 最先进栈&…...
Idea2023 Springboot web项目正常启动,页面展示404解决办法
Idea2023 Springboot web项目正常启动,页面展示404解决办法 问题: 项目启动成功,但是访问网页,提示一直提示重定向次数过多,404 解决方法 在IDEA的Run/Debug Configurations窗口下当前的Application模块的Working directory中添…...
Android手机如何用Charles抓包HTTPS接口
对Charles的安装和使用,这里就不重复介绍了,之前有介绍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.主键和标识列分离,成功实现插入与修改 二、新建本文涉及的项目 三、程序设计 1.Form1.cs源码 2.Form1.cs[设计] 四、生成和测试 1.原始表 …...
【文末送书】计算机网络 | IO多路转接技术 | poll/epoll详解
欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和…...
【Linux】 uptime命令使用
uptime 正常运行时间提供以下信息的单行显示。当前时间、系统运行的时间、当前登录的用户数量以及过去1、5和15分钟的系统平均负载。 语法 uptimeuptime命令 -Linux手册页 作者 由Larry Greenfield编写和迈克尔K约翰逊编写。 命令选项及作用 执行令 man uptime 执行命令结…...
数学建模-图与网络模型解题方法和代码实现
本文针对以下几个方面问题进行整理: 最短路问题 两个指定顶点之间的最短路径任意顶点之间的最短路径 2.最小生成树问题 求最小生成树 3.网络最大流问题 源点与汇点之间的最大流基于最大流的最小费用求解 4.旅行商问题 基于哈密顿(Hamilton)圈求解旅行商线性…...
宏集新闻 | 虹科传感器事业部正式更名为宏集科技
致一直支持“虹科传感器”的朋友们: 为进一步整合资源,给您带来更全面、更优质的服务,我们非常荣幸地宣布,虹科传感器事业部已正式更名为宏集科技。这一重要的改变代表了虹科持续发展进程中的新里程碑,也体现了我们在传…...
ESXi插USB存储不识别?真相+替代方案(新手一看就会)
在ESXi虚拟机运维中,很多新手会尝试插入USB存储设备(U盘、移动硬盘),用于传输文件、扩展存储或备份数据,但常常遇到“插上去完全不识别”的问题。其实核心原因很简单:ESXi系统对USB存储设备的支持本身就非常…...
ISCC-pwn(2026)
复现一下 文章目录校赛练武pwn1pwn2pwn3pwn4总结校赛练武 pwn1 32位泄露canary后,栈溢出到后门即可。 from pwn import * context.terminal ["tmux","splitw","-h"] context.log_level debugpprocess(./attachment-5) #premote(3…...
多模态模型评估新基准:Rebus Puzzles测试集构建与应用
1. 项目背景与核心价值最近在整理多模态模型评估方法时,发现现有基准测试大多集中在常规的图文匹配任务上,很少有针对复杂视觉推理能力的专项测评。这让我想起小时候玩过的Rebus Puzzles(画谜)——那些用图像组合来暗示词语或短语…...
如何在 matlab 中调用 taotoken 平台的多模型 api 接口
如何在 MATLAB 中调用 Taotoken 平台的多模型 API 接口 基础教程类,面向使用 MATLAB 进行科学计算或算法开发的工程师,介绍如何利用 Taotoken 提供的 OpenAI 兼容 API 在 MATLAB 环境中集成大模型能力,重点说明如何设置 API 密钥与 base_url…...
终极QQ空间历史说说备份指南:GetQzonehistory完整使用教程
终极QQ空间历史说说备份指南: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类型错误:Nginx与Apache实战指南 当你满怀期待地将精心开发的前端应用部署到服务器,却在浏览器控制台看到刺眼的"Refused to execute script"错误时,那种挫败感我深有体会。这个看似简单的MIME类型问题&am…...
别再只会用DAQ助手了!手把手教你用LabVIEW DAQmx函数搭建高性能数据采集系统
突破图形化限制:用LabVIEW DAQmx函数构建工业级数据采集系统 在工业自动化与测试测量领域,数据采集系统的性能往往直接决定整个项目的成败。许多工程师初识LabVIEW时,都会从直观的DAQ助手(DAQ Assistant)开始ÿ…...
Fluent动网格实战:从活塞运动到心脏模拟的5个工程案例详解
Fluent动网格实战:从活塞运动到心脏模拟的5个工程案例详解 在计算流体动力学(CFD)领域,动网格技术正成为模拟运动边界问题的关键工具。想象一下,当工程师需要分析活塞在气缸内的运动如何影响燃烧效率,或者…...
告别串口调试:用LabVIEW TCP通信快速搭建ESP32无线调试上位机(保姆级避坑)
基于LabVIEW与ESP32的无线调试系统实战指南 引言 在嵌入式开发领域,调试环节往往占据整个开发周期的30%以上时间。传统串口调试方式虽然简单直接,但存在物理连接限制、波特率瓶颈和实时性不足等问题。ESP32作为一款集成Wi-Fi和蓝牙功能的微控制器&#x…...
