Рубрики
Без рубрики

Создайте простой текстовый редактор с Python

В этом посте я покажу вам очень простой способ создать простой текстовый редактор с Python. Этот… Теги с Python, учебником, начинающим, Youcandoit.

В этом посте я покажу вам очень простой способ создать простой текстовый редактор с Python. Этот учебник предназначен для абсолютных начинающих. Если вы знаете основы Python и немного обработки файлов, вы можете сделать один сами. Прежде чем начать, я бы объяснил немного обработки файлов для тех, кто ничего не знает об этом.

Обработка файлов

Обработка файла в основном работает с файлами с использованием языка программирования. Вы можете открыть файл, прочитать, писать, удалять данные и закройте его снова, делая постоянные изменения. Помимо этого, есть еще много операций, но нам не нужно изучать все эти для этого проекта. Я оставлю ссылку на ссылку в конце этого поста. Вы можете посетить его, чтобы узнать больше.

Открытие и закрытие файла

Чтобы открыть файл, мы используем Открыть () функция. Открыть () Функция принимает два параметра – Путь файла и Режим Отказ

Есть Четыре Режимы для открытия файла:

  • "R"Читать – Значение по умолчанию. Открывает файл для чтения. Производит ошибку, если файл не существует.
  • "a"Добавить – Открывает файл для добавления, создает файл, если он не существует.
  • "W"Напишите – Открывает файл для записи, создает файл, если оно не существует.
  • "х"Создать – Создает указанный файл, возвращает ошибку, если файл существует

Кроме того, вы можете указать, следует ли обрабатывать файл в виде двоичного или текстового режима.

  • «т»Текст – Значение по умолчанию. Текстовый режим.
  • "B"Бинарный – двоичный режим (например, изображения).

Пример:-

file = open("path/to/file.txt", "rb")

Здесь режим "РБ" Рассказывает Питона к «Прочитайте файл в двоичном режиме».

После того, как вы открываете файл и работаете над ним, вам нужно его закрыть. У Питона есть Закрыть () Функция, которая закрывает файл.

file = open("file.txt", "w")    # Opens a file in write mode
file.close()    # Closes the file

Чтение файла

Читать () Функция позволяет нам прочитать содержимое файла. Это требует дополнительного аргумента (целое число), которое указывает, сколько символов для чтения.

f = open("file.txt", "r")

# Read all content and print
print(f.read()) 

# Read only 12 characters and print
print(f.read(12))

Написание файлов

Два режима позволяют нам написать файлы:

  • " A " – Добавить – добавит до конца файла
  • " w " – Написать – перезапишет любой существующий контент
f = open("file.txt", "a")
f.write("Now the file has more content!")
f.close()

f = open("file.txt", "w")
f.write("Whoops! I have deleted the content!")
f.close()

Это достаточно для обработки файлов на данный момент. Давайте перейдем к основной части.

Во-первых, создайте новый файл Python. Мы будем использовать путь Модуль из ОС Отказ Итак, давайте импортируем это.

from os import path

Это поможет нам проверить существующие файлы. Теперь нам нужен пользователь, чтобы ввести путь к новому или существующему файлу. Давайте храним его в переменной file_path Отказ

file_path = input("\nCreate file (please enter the path to file): ")

Далее нам нужно проверить, будет ли файл уже существует использовать существует () Функция дорожка модуль. Для этого нам нужно написать Если утверждение. существует () Функция проверяет, если файл уже существует на данном пути, в этом случае file_path Отказ

if path.exists(file_path):
    print("\n\tFile already exists!")
    ans = input("\nDo you want to use this file? (y/n)\n-> ")

else:
    print("\n\tCreating new file...\n")
    file = open(file_path, "a")

Если файл не существует, то он создаст новый файл в том же месте. В противном случае он будет спросить, хотите ли мы продолжить с существующим файлом. Итак, нам нужен другой Если утверждение.

if ans == 'y' or ans == 'Y':
    file = open(file_path, "a")
    ans = input("\nDo you want to erase all content? (y/n)\n-> ")

else:
    exit()

Если мы хотим продолжить с существующим файлом, он спросит, хотите ли мы удалить содержимое или мы хотим добавить текст к нему. В противном случае программа остановится. Итак, давайте напишем другой Если заявление внутри этого.

if ans == 'y' or ans == 'Y':
    print("\n\tErasing...\n")
    file.seek(0)
    file.truncate()

else:
    pass

пройти Ключевое слово сообщает компилятору просто ничего не делать и перейти к следующим шагам. Вместе все детали вместе, ваш код должен выглядеть что-то подобное:

from os import path

file_path = input("\nCreate file (please enter the path to file): ")

if path.exists(file_path):
    print("\n\tFile already exists!")
    ans = input("\nDo you want to use this file? (y/n)\n-> ")

    if ans == 'y' or ans == 'Y':
        file = open(file_path, "a")
        ans = input("\nDo you want to erase all content? (y/n)\n-> ")

        if ans == 'y' or ans == 'Y':
            print("\n\tErasing...\n")
            file.seek(0)
            file.truncate()

        else:
            pass

    else:
        exit()

else:
    print("\n\tCreating new file...\n")
    file = open(file_path, "a")

Теперь приходит самая интересная часть, где мы построим интерфейс. Нам нужно сообщить пользователю, как заранее использовать наш текстовый редактор. Итак, вставьте это Печать утверждение.

print("\nPress RETURN to start a new line.\nPress Ctrl + C to save and close.\n\n")

И теперь вставьте эти линии:

line_count = 1

while line_count > 0:
    try:
        line = input("\t" + str(line_count) + " ")
        file.write(line)
        file.write('\n')
        line_count += 1

    except KeyboardInterrupt:
        print("\n\n\tClosing...")
        break

Как вы знаете, большинство текстовых редакторов помещают номер строки в начале каждой строки. Здесь мы будем делать что-то подобное. Я использовал бесконечный в то время как Цикл, чтобы вы могли добавить столько строк, сколько хотите. Но мы не можем позволить ему бежать навсегда. Итак, я использовал пытаться / кроме Заявление, за исключением поднимается исключением KeyboardInterrupt вызвано нажатием Ctrl + C .

Если вы не знаете, что попробуйте / кроме Заключение используется для коротких слов, он пытается запустить код, если исключение (например, нажатие клавиши, достигая конца файла и т. Д.).

Здесь линия Переменная будет хранить одну строку текста, то она напишет его в файл, добавить новую строку, приращение line_count одним и снова повторить, если вы не нажимаете Ctrl + C , который используется для остановки в то время как петля (не копировать текст).

Последнее, но не менее важное, нам нужно закрыть файл. Суммируя его вверх, ваш код будет выглядеть так:

from os import path

file_path = input("\nCreate file (please enter the path to file): ")

if path.exists(file_path):
    print("\n\tFile already exists!")
    ans = input("\nDo you want to use this file? (y/n)\n-> ")

    if ans == 'y' or ans == 'Y':
        file = open(file_path, "a")
        ans = input("\nDo you want to erase all content? (y/n)\n-> ")

        if ans == 'y' or ans == 'Y':
            print("\n\tErasing...\n")
            file.seek(0)
            file.truncate()

        else:
            pass

    else:
        exit()

else:
    print("\n\tCreating new file...\n")
    file = open(file_path, "a")

print("\nPress RETURN to start a new line.\nPress Ctrl + C to save and close.\n\n")

line_count = 1

while line_count > 0:
    try:
        line = input("\t" + str(line_count) + " ")
        file.write(line)
        file.write('\n')
        line_count += 1
    except KeyboardInterrupt:
        print("\n\n\tClosing...")
        break

file.close()

Выход

Давайте посмотрим изменения в файле abc.txt.txt .

Вот как работает наш собственный текстовый редактор и выглядит как. Я надеюсь, что сегодня вы узнали что-то новое и понять, как вы можете применить свои навыки программирования, чтобы создать несколько прохладных проектов. Если у вас есть какие-либо вопросы, просто оставьте комментарий, и я буду рад помочь вам.

Счастливое кодирование! 😎

Ресурсы

  • Python Условные заявления 👉 визит
  • Python в то время как петли 👉 визит
  • Обработка файла Python 👉 визит
  • Python ОС модуль 👉 визит
  • Python попробуйте / кроме 👉 визит

Оригинал: “https://dev.to/snkds/create-a-simple-text-editor-with-python-5ge7”