打开文件,提取所有行的AAA和BBB中间的所有内容,然后存到新文件。写出Python脚本
时间: 2023-08-31 17:28:02 浏览: 94
Python读取文件并修改文件内容后保存为新文件
### 回答1:
```python
# 打开原文件
with open('原文件.txt', 'r') as f:
# 创建新文件
with open('新文件.txt', 'w') as new_f:
# 逐行读取原文件
for line in f:
# 查找AAA和BBB中间的内容
start_index = line.find('AAA') + 3
end_index = line.find('BBB')
content = line[start_index:end_index]
# 将查找到的内容写入新文件
new_f.write(content + '\n')
```
### 回答2:
在Python中,我们可以使用如下代码来打开文件、提取所有行中的AAA和BBB之间的内容,并将其保存到新文件中:
```python
# 打开原始文件
with open("input.txt", "r") as file:
lines = file.readlines() # 读取所有行的内容
# 初始化保存内容的列表
extracted_content = []
# 遍历每一行
for line in lines:
start_index = line.find("AAA") # 找到AAA的起始位置
end_index = line.find("BBB") # 找到BBB的结束位置
if start_index != -1 and end_index != -1: # 如果AAA和BBB都存在
extracted_content.append(line[start_index + 3 : end_index]) # 提取AAA和BBB之间的内容
# 将提取的内容保存到新文件
with open("output.txt", "w") as file:
for content in extracted_content:
file.write(content + "\n")
```
上述代码中,我们首先使用`open()`函数打开原始文件,并使用`readlines()`方法读取所有行的内容。然后,我们遍历每一行,使用`find()`方法找到AAA和BBB的位置。如果AAA和BBB都存在,我们就使用切片操作提取AAA和BBB之间的内容,并将其添加到保存内容的列表中。
最后,我们使用`open()`函数以写模式打开一个新的文件,并使用`write()`方法将提取的内容写入到新文件中。每行内容之间添加换行符`\n`来确保每个内容单独占据一行。
### 回答3:
可以使用Python中的文件读写操作来实现该功能。以下是一个示例脚本:
```python
# 打开文件并读取内容
with open('input.txt', 'r') as file:
lines = file.readlines()
# 提取AAA和BBB中间的内容
content = []
for line in lines:
start_index = line.find('AAA')
end_index = line.find('BBB')
if start_index != -1 and end_index != -1:
content.append(line[start_index+3:end_index])
# 将内容写入新文件
with open('output.txt', 'w') as file:
for c in content:
file.write(c+"\n")
```
上述脚本中,我们首先使用`open`函数打开输入文件,并使用`readlines`方法读取所有行的内容到一个列表中。然后,我们遍历每一行,使用`find`方法查找AAA和BBB的位置。如果两者都存在,我们提取AAA和BBB之间的内容,并将其添加到一个新的列表`content`中。
接下来,我们使用`open`函数创建一个新的输出文件,并使用`write`方法将提取到的内容写入该文件中。注意,我们在每个内容后添加了换行符`\n`,以确保每个内容占用一行。
最后,我们使用`with open`结构来自动关闭文件,以确保程序的健壮性和资源的释放。输入文件名为`input.txt`,输出文件名为`output.txt`,你可以根据实际需求进行修改。
阅读全文