欢迎访问宙启技术站
智能推送

Python编写案例:用Python实现一个简单的文本编辑器

发布时间:2023-12-04 08:30:15

下面是一个简单的文本编辑器的例子:

class TextEditor:
    def __init__(self):
        self.content = ""

    def open_file(self, filename):
        try:
            with open(filename, 'r') as file:
                self.content = file.read()
            print("文件已打开")
        except FileNotFoundError:
            print("文件未找到")

    def save_file(self, filename):
        try:
            with open(filename, 'w') as file:
                file.write(self.content)
            print("文件已保存")
        except:
            print("保存文件时出错")

    def display_content(self):
        print(self.content)

    def add_text(self, text):
        self.content += text

    def delete_text(self, start_index, end_index):
        self.content = self.content[:start_index] + self.content[end_index:]

if __name__ == "__main__":
    editor = TextEditor()
    print("欢迎使用文本编辑器")
    while True:
        print("请输入命令:")
        print("1. 打开文件")
        print("2. 保存文件")
        print("3. 显示文本内容")
        print("4. 添加文本")
        print("5. 删除文本")
        print("0. 退出")
        command = input()

        if command == "1":
            filename = input("请输入要打开的文件名:")
            editor.open_file(filename)
        elif command == "2":
            filename = input("请输入要保存的文件名:")
            editor.save_file(filename)
        elif command == "3":
            editor.display_content()
        elif command == "4":
            text = input("请输入要添加的文本:")
            editor.add_text(text)
        elif command == "5":
            start_index = int(input("请输入要删除的起始索引:"))
            end_index = int(input("请输入要删除的结束索引:"))
            editor.delete_text(start_index, end_index)
        elif command == "0":
            break
        else:
            print("无效的命令,请重新输入")

这个简单的文本编辑器具有以下功能:

1. 打开文件:从指定的文件中读取文本内容并存储到编辑器中。

2. 保存文件:将编辑器中的文本内容保存到指定的文件中。

3. 显示文本内容:打印编辑器中的文本内容。

4. 添加文本:在编辑器中的文本内容后面添加指定的文本。

5. 删除文本:从编辑器中的文本内容中删除指定的起始索引到结束索引之间的文本。

使用示例:

欢迎使用文本编辑器
请输入命令:
1. 打开文件
2. 保存文件
3. 显示文本内容
4. 添加文本
5. 删除文本
0. 退出
1
请输入要打开的文件名:example.txt
文件已打开

请输入命令:
1. 打开文件
2. 保存文件
3. 显示文本内容
4. 添加文本
5. 删除文本
0. 退出
3
这是示例文本内容

请输入命令:
1. 打开文件
2. 保存文件
3. 显示文本内容
4. 添加文本
5. 删除文本
0. 退出
4
请输入要添加的文本:,这是新添加的文本
请输入命令:
1. 打开文件
2. 保存文件
3. 显示文本内容
4. 添加文本
5. 删除文本
0. 退出
3
这是示例文本内容,这是新添加的文本

请输入命令:
1. 打开文件
2. 保存文件
3. 显示文本内容
4. 添加文本
5. 删除文本
0. 退出
5
请输入要删除的起始索引:5
请输入要删除的结束索引:13
请输入命令:
1. 打开文件
2. 保存文件
3. 显示文本内容
4. 添加文本
5. 删除文本
0. 退出
3
这是示文本内容,这是新添加的文本

请输入命令:
1. 打开文件
2. 保存文件
3. 显示文本内容
4. 添加文本
5. 删除文本
0. 退出
2
请输入要保存的文件名:new_file.txt
文件已保存

请输入命令:
1. 打开文件
2. 保存文件
3. 显示文本内容
4. 添加文本
5. 删除文本
0. 退出
0