简单的行编缉器代码 要求:设置一个简单的行编缉器,每行以回车结束. 数据以文件形式存储 编辑器具有查找,替换,修改数据的功能.
时间: 2024-02-17 14:59:42 浏览: 138
以下是一个简单的行编辑器代码,实现了查找、替换和修改数据的功能,数据以文件形式存储。请注意,该代码并不完整,只是提供了一个基本的框架,您需要根据自己的需求进行修改和完善。
```python
import os
def read_file(filename):
"""读取文件中的数据"""
if not os.path.exists(filename):
return []
with open(filename, 'r') as f:
lines = f.readlines()
return [line.strip() for line in lines]
def write_file(filename, lines):
"""将数据写入文件"""
with open(filename, 'w') as f:
for line in lines:
f.write(line + '\n')
def find(lines, keyword):
"""查找含有关键字的行"""
result = []
for i in range(len(lines)):
if keyword in lines[i]:
result.append(i)
return result
def replace(lines, keyword, new_word):
"""替换含有关键字的行"""
for i in range(len(lines)):
if keyword in lines[i]:
lines[i] = lines[i].replace(keyword, new_word)
return lines
def edit(filename):
"""编辑文件"""
lines = read_file(filename)
while True:
command = input('请输入指令(f-查找,r-替换,q-退出):')
if command == 'f':
keyword = input('请输入关键字:')
result = find(lines, keyword)
if result:
for i in result:
print(f'第{i+1}行:{lines[i]}')
else:
print('未找到匹配的行!')
elif command == 'r':
keyword = input('请输入要替换的关键字:')
new_word = input('请输入新的内容:')
lines = replace(lines, keyword, new_word)
write_file(filename, lines)
print('替换成功!')
elif command == 'q':
break
else:
print('无效指令!')
```
使用方法:
1. 将上述代码保存为一个.py文件,比如editor.py。
2. 在同一目录下创建一个文本文件,比如data.txt,并在其中写入一些数据,每行以回车结束。
3. 运行editor.py文件,输入以下指令进行操作:
- f:查找含有关键字的行;
- r:替换含有关键字的行;
- q:退出编辑器。
根据提示输入相应的关键字和新内容即可。
阅读全文