python - 如何在python中动态地将文本添加到多个文件中
问题描述
我有几个文件,想在 python 中向它们添加一些文本(命名为changed_1
、changed_2
等)。changed_3
这是我的文件的一些行(但我的文件有数千行):
$MeshFormat
2.2 0 8
$EndMeshFormat
$PhysicalNames
8
2 12 "back"
2 14 "Fault"
3 1 "volume_1"
$EndPhysicalNames
...
我想在第 8 行 ( ) 之后添加 line/s 3 1 "volume_1"
。这些行也应该动态生成。我有另一个名为n_iteration
. 如果n_iteration
是 2,我想3 2 "volume_2"
在第 8 行之后添加。如果是3,我想添加3 2 "volume_2"
等等3 3 "volume_3"
。最后,我想让我的文件像输入格式一样更改和保存,但是添加了这些行(比如说n_iteration = 4
):
$MeshFormat
2.2 0 8
$EndMeshFormat
$PhysicalNames
8
2 12 "back"
2 14 "Fault"
3 1 "volume_1"
3 2 "volume_2"
3 3 "volume_3"
3 4 "volume_4"
$EndPhysicalNames
...
我只能导入我的所有文件并使用以下代码对它们进行排序,但我没有成功地按照我的解释进行操作:
from glob import glob
all_files = glob('changed_*')
for i in all_files:
with open(str(i)) as lines:
...
在此之前,我感谢任何帮助和反馈。
解决方案
您需要了解文件及其内容之间的区别。您需要了解如何读入文件的内容,以及在写入文件时可以做什么和不可以做什么。通常,您可以写入文件末尾,也可以覆盖文件,但不能插入文件。您可以通过读入文件的内容来创建插入效果,然后用添加的新内容将其写回。
一种方法:你逐行读取文件,这样你就有了list
一行。如果你总是在第八行之后插入新数据,你现在可以将内容一个一个写出来,然后在你写完第八行之后,写出你的新数据,然后继续你的其余内容在开始时阅读。
推荐阅读
- r - 是否有任何 R 函数可以可视化 IV 回归的交互作用?
- angular - Angular 8,Firebase 推送通知:无法在推送通知上获取调试器或自定义逻辑
- java - 如何制作一个矩形的字符?
- discord.py - 试图在 discord.py (python) 中使列表不区分大小写
- wpf - 从文件夹中查看文件信息到 DataGrid
- c - 将一组变量参数从一个函数传递给 C 中的宏
- kubectl - kubectl get -o yaml:是否可以隐藏 metadata.managedFields?
- powerapps - PowerApps SortBy - 针对查找值
- javascript - 如何修复使用 fetch 向服务器发送 POST 请求时抛出的“JSON 输入意外结束”?
- python - 如何组合不同指标的结果并从中生成分数?