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

Python经典面试题——在txt里面添加字段和数据

1. 问题:

如何在txt中实现第一行的字段加一个"test",如果第二行开始有数据,在每条数据的最后加"ok"

2.条件

提供的txt文本如下

时间--地区--人口---降雨量-----
20220101--北京--200--0.5-----
20230101--成都--100--0.55-----
20230301--西宁--80--0.45-----

3.解决

3.1 方法一:

""""""
def modify_file(file_path):with open(file_path, 'r', encoding='utf-8') as file:lines = file.readlines()  # 读取文件的所有行modified_lines = []for index, line in enumerate(lines):line = line.strip()  # 去除行首尾的空白字符if index == 0:modified_line = line + "test\n"  # 第一行字段后添加 "test"else:modified_line = line + "ok\n"  # 第二行开始的每条数据末尾添加 "ok"modified_lines.append(modified_line)with open(file_path, 'w', encoding='utf-8') as file:file.writelines(modified_lines)  # 将修改后的内容写回文件# 使用示例
file_path = 'b.txt'  # 文件路径
modify_file(file_path)

效果如下:
在这里插入图片描述

3.2 方法二

"""
如何在txt中实现第一行的字段加一个"test",如果第二行开始有数据,在每条数据的最后加"ok"
"""
import osdef line_append(line:str):line = line.strip() + "OK\n"return linewith open('a.txt','r+',encoding='utf-8') as f:text = f.readlines()    # # 读取文件内容,并将每行作为列表中的一个元素# 第一行加 |TESTtext[0] = text[0].strip() + "TEST\n"   # 修改第一行内容,在末尾添加了 "TEST",并在行尾添加换行符# 如果第二行有数据if len(text) > 1:text[-1] = text[-1].strip() +'ok'  # 如果文件有多于一行的内容,则修改最后一行,在末尾添加了 "ok"f.seek(0)                               # 将文件指针移动到文件开头f.truncate()                            # 清空文件内容f.writelines([text[0],*list(map(line_append,text[1:-1])),text[-1]])   # 将修改后的内容写入文件# 以上代码段展示了一个使用 with open 语句打开文件、读取、修改和写入文件内容的示例,其中运用了拆包、列表操作、文件指针操作和写入方法等技巧# *list 是用于拆包的语法。它的作用是将列表 list 中的元素拆分出来,作为单独的元素传递给函数或方法

【特别注意】*list 是用于拆包的语法。它的作用是将列表 list 中的元素拆分出来,作为单独的元素传递给函数或方法。

3.2.1 Python拆包语法举例

# 使用 * 运算符将可迭代对象的元素拆分为单独的参数。这对于需要将列表、元组等作为参数传递给函数或方法的场景非常有用
def add_numbers(a, b, c):return a + b + cnumbers = [1, 2, 3]result = add_numbers(*numbers)print(result)  # 输出: 6

相关文章:

Python经典面试题——在txt里面添加字段和数据

1. 问题: 如何在txt中实现第一行的字段加一个"test",如果第二行开始有数据,在每条数据的最后加"ok" 2.条件 提供的txt文本如下 时间--地区--人口---降雨量----- 20220101--北京--200--0.5----- 20230101--成都--100--0.55----- …...

【观察】打造以AI为导向的基础设施,联想锚定AI算力“主航道”

毫无疑问,人工智能对人类社会来说并不是一项简单的技术革命,它象征着一个时代的到来,如同工业时代之于农业时代一样,会带来天翻地覆的变革,影响人类社会百年、甚至千年的进程。 而AI算力对于推动人工智能应用的重要性毋…...

预防缓存穿透工具类

1. 前言 缓存穿透大家都知道,这里简单过一下 缓存和数据库中都没有的数据,而用户不断发起请求。比如查询id -1 的值 想着很多面向C端的查询接口,可能都需要做一下缓存操作,这里简单写了个自定义注解,将查询结果(包含…...

会员管理系统实战开发教程04-会员开卡

我们已经用3篇篇幅介绍了会员管理的功能,接着就要开发会员的业务。通常我们开通会员之后需要给会员开通会员卡,一个会员可以有多张会员卡。 在数据源设计的时候,像这种一个会员有多张会员卡的,我们称之为一对多的关系&#xff0c…...

数据结构(2)

冒泡排序: 1.比较相邻的两个元素。如果前一个元素比后一个元素大,则交换两者位置。 2.对每一对相邻元素做相同工作,从第一对元素到最后一对元素,最后的一个元素就是最大的元素。 for(int ia.length-1;i>0;i--){for (int j 0…...

使用ELK(ES+Logstash+Filebeat+Kibana)收集nginx的日志

文章目录 Nginx日志格式修改配置logstash收集nginx日志引入Redis收集日志写入redis从redis中读取日志 引入FilebeatFilebeat简介Filebeat安装和配置 配置nginx转发ES和kibanaELK设置账号和密码 书接上回:《ELK中Logstash的基本配置和用法》 Nginx日志格式修改 默认…...

TDengine server连接遇到的坑

一、TDengine安装 TDengine目前只有linux版本的server端,安装教程参考 https://zhuanlan.zhihu.com/p/302413259 二、TDengine连接 TDengine连接目前支持两种方式,一种是原生连接,该方法的默认端口号为6030;另一种是REST API连…...

什么是NetDevOps

NetDevOps 是一种新兴的方法,它结合了 NetOps 和 DevOps 的流程,即将网络自动化集成到开发过程中。NetDevOps 的目标是将虚拟化、自动化和 API 集成到网络基础架构中,并实现开发和运营团队之间的无缝协作。 开发运营(DevOps&…...

中小金融机构数字化转型最大的挑战是什么?

中国银保监会办公厅印发的《关于银行业保险业数字化转型的指导意见》强调,银行保险机构要加强顶层设计和统筹规划,科学制定数字化转型战略,统筹推进工作,并从战略规划与组织流程建设、业务经营管理数字化、数据能力建设、科技能力…...

Facebook HiPlot “让理解高维数据变得容易”

在这个全球信息化的时代,数据量呈爆炸式增长,数据的复杂性也是如此。如何有效地处理高维数据并找到隐藏在其中的相关性和模式是一个严峻的挑战。近年来,可视化和可视化分析已被应用于该任务,并取得了一些积极成果。Facebook的新Hi…...

【python】:python新设备环境移植(requirements.txt)

环境移植 condapip conda 你可以使用conda命令来创建一个包含所有已安装包的requirements.txt文件,并将其复制到新电脑上。然后,你可以在新电脑上使用pip命令来安装这些包及其依赖项。 以下是一个示例命令: conda list --export > requ…...

分类预测 | MATLAB实现1D-2D-CNN-GRU的多通道输入数据分类预测

分类预测 | MATLAB实现1D-2D-CNN-GRU的多通道输入数据分类预测 目录 分类预测 | MATLAB实现1D-2D-CNN-GRU的多通道输入数据分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 结合1D时序-2D图像多模态融合的CNN-GRU故障识别算法,基于一维时序信号和二维图…...

【LeetCode】125. 验证回文串 - 双指针

这里写自定义目录标题 2023-8-24 09:31:12 125. 验证回文串 2023-8-24 09:31:12 最关键的是 注意 题目中的 “字母和数字都属于字母数字字符。” 使用ascii码进行判断就行了 class Solution {public boolean isPalindrome(String s) {int p 0, q s.length() - 1;while (…...

centos7设置java后端项目开机自启【脚本、开机自启】

1.切换目录 cd /etc/init.d/2.编辑脚本 vim wbs-service-start.sh编辑内容 #!/bin/bash # chkconfig: 2345 80 90 # description: auto_runnohup java -jar /usr/java/wbs-service.jar > /dev/null 2>&1 & echo $! > /var/run/wbs-service.pid3.添加进入系…...

亿赛通电子文档安全管理系统 RCE漏洞复现(QVD-2023-19262)

0x01 产品简介 亿赛通电子文档安全管理系统(简称:CDG)是一款电子文档安全加密软件,该系统利用驱动层透明加密技术,通过对电子文档的加密保护,防止内部员工泄密和外部人员非法窃取企业核心重要数据资产&…...

一文读懂 Nuxt.js 服务端组件

服务端组件在 Web 开发生态系统中变得越来越普遍。传统上,在单页面应用中,即使是服务端渲染的应用,服务端仅与第一次加载相关,之后将由客户端接管。这意味着 Web 应用的每个部分都必须能够在客户端和服务端上渲染。 相反&#xf…...

LeetCode--HOT100题(39)

目录 题目描述:101. 对称二叉树(简单)题目接口解题思路代码 PS: 题目描述:101. 对称二叉树(简单) 给你一个二叉树的根节点 root , 检查它是否轴对称。 LeetCode做题链接:LeetCode-…...

“车-路-网”电动汽车充电负荷时空分布预测(matlab)

目录 1 主要内容 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序参考《基于动态交通信息的电动汽车充电负荷时空分布预测》和《基于动态交通信息的电动汽车充电需求预测模型及其对配网的影响分析》文献模型,考虑私家车、出租车和共用车三类交通工具特性和…...

【核磁共振成像】方格化重建

目录 一、缩放比例二、方格化变换的基础三、重建时间四、方格化核 一、缩放比例 对于笛卡尔K空间直线轨迹数据可直接用FFT重建,而如果K空间轨迹的任何部分都是非均匀取样的 可用DFT直接重建,有时称为共轭相位重建,但此法太慢不实用。把数据再…...

JAVA中时间戳和LocalDateTime的互转

时间戳转LocalDateTime: 要将时间戳转换为LocalDateTime并将LocalDateTime转换回时间戳,使用Java的java.time包。以下是示例代码: import java.time.Instant; import java.time.LocalDateTime; import java.time.ZoneId;public class Times…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

云原生玩法三问:构建自定义开发环境

云原生玩法三问&#xff1a;构建自定义开发环境 引言 临时运维一个古董项目&#xff0c;无文档&#xff0c;无环境&#xff0c;无交接人&#xff0c;俗称三无。 运行设备的环境老&#xff0c;本地环境版本高&#xff0c;ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

NPOI操作EXCEL文件 ——CAD C# 二次开发

缺点:dll.版本容易加载错误。CAD加载插件时&#xff0c;没有加载所有类库。插件运行过程中用到某个类库&#xff0c;会从CAD的安装目录找&#xff0c;找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库&#xff0c;就用插件程序加载进…...

CppCon 2015 学习:Time Programming Fundamentals

Civil Time 公历时间 特点&#xff1a; 共 6 个字段&#xff1a; Year&#xff08;年&#xff09;Month&#xff08;月&#xff09;Day&#xff08;日&#xff09;Hour&#xff08;小时&#xff09;Minute&#xff08;分钟&#xff09;Second&#xff08;秒&#xff09; 表示…...

CTF show 数学不及格

拿到题目先查一下壳&#xff0c;看一下信息 发现是一个ELF文件&#xff0c;64位的 ​ 用IDA Pro 64 打开这个文件 ​ 然后点击F5进行伪代码转换 可以看到有五个if判断&#xff0c;第一个argc ! 5这个判断并没有起太大作用&#xff0c;主要是下面四个if判断 ​ 根据题目…...

Linux操作系统共享Windows操作系统的文件

目录 一、共享文件 二、挂载 一、共享文件 点击虚拟机选项-设置 点击选项&#xff0c;设置文件夹共享为总是启用&#xff0c;点击添加&#xff0c;可添加需要共享的文件夹 查询是否共享成功 ls /mnt/hgfs 如果显示Download&#xff08;这是我共享的文件夹&#xff09;&…...