Może lepiej byłoby zacząć od tego, by zdefiniować klasę, która reprezentowałaby pojedynczy plik tekstowy. Obiekt pliku przyjmowałby nazwę, tworzyłby pusty plik tekstowy w katalogu roboczym, umożliwiał zapis do tego pliku, a także wyświetlał jego zawartość. Na koniec można by plik usunąć lub zostawić. W ten sposób możesz sobie tworzyć tyle obiektów plików, ile tylko chcesz, a wszystkie będą obsługiwane w ten sam sposób. Prosty przykład znajdziesz tutaj:
#!/usr/bin/env python3
import os
class TextFile:
"""A text file"""
def __init__(self, filename):
"""Create an empty file"""
self.filename = filename
self._create()
def _create(self):
open(self.filename, 'a').close()
def write(self, text):
"""Save a text to the file"""
with open(self.filename, "w") as f:
f.write(text)
def display_lines(self, n_lines):
"""Display the first N lines of the file"""
try:
with open(self.filename, "r") as f:
for _ in range(n_lines):
print(next(f).replace('\n', ' ').replace('\r', ''))
except StopIteration:
pass
def remove(self):
"""Remove a file"""
os.remove(self.filename)
if __name__ == "__main__":
f = TextFile("pusty")
f.write(
"""To jest przykladowy\ntekst, ktory zostanie\nzapisany w pliku tekstowym\
\no nazwie 'pusty'\n"""
)
f.display_lines(3)
# f.remove()
Przypatrz się temu kodowi i spróbuj rozbudować klasę TextFile. Możesz dodać metodę append, która dopisze tekst do istniejącej już zawartości. Przede wszystkim możesz teraz spróbować w sekcji __main__ obsłużyć wiele plików, czyli mieć coś, co przypomina notatnik bez GUI.