当前位置: 首页 > 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
http://www.lryc.cn/news/139390.html

相关文章:

  • 【观察】打造以AI为导向的基础设施,联想锚定AI算力“主航道”
  • 预防缓存穿透工具类
  • 会员管理系统实战开发教程04-会员开卡
  • 数据结构(2)
  • 使用ELK(ES+Logstash+Filebeat+Kibana)收集nginx的日志
  • TDengine server连接遇到的坑
  • 什么是NetDevOps
  • 中小金融机构数字化转型最大的挑战是什么?
  • Facebook HiPlot “让理解高维数据变得容易”
  • 【python】:python新设备环境移植(requirements.txt)
  • 分类预测 | MATLAB实现1D-2D-CNN-GRU的多通道输入数据分类预测
  • 【LeetCode】125. 验证回文串 - 双指针
  • centos7设置java后端项目开机自启【脚本、开机自启】
  • 亿赛通电子文档安全管理系统 RCE漏洞复现(QVD-2023-19262)
  • 一文读懂 Nuxt.js 服务端组件
  • LeetCode--HOT100题(39)
  • “车-路-网”电动汽车充电负荷时空分布预测(matlab)
  • 【核磁共振成像】方格化重建
  • JAVA中时间戳和LocalDateTime的互转
  • 无涯教程-进程 - 创建终止
  • LLMs参考资料第一周以及BloombergGPT特定领域的训练 Domain-specific training: BloombergGPT
  • LeetCode字符串数组最长公共前缀
  • Git gui教程---第八篇 Git gui的使用 创建一个分支
  • Docker修改daemon.json添加日志后无法启动的问题
  • QT6编译的文件分布情况
  • 2023中国算力大会 | 中科驭数加入DPU推进计划,探讨DPU如何激活算网融合新基建
  • leetcode 115. 不同的子序列
  • gradio应用transformer模块部署生成式人工智能应用程序
  • 【目标检测】“复制-粘贴 copy-paste” 数据增强实现
  • 深度学习知识总结2:主要涉及深度学习基础知识、卷积神经网络和循环神经网络