# Открытие файла
file = open('characters.txt', 'r') # 'r' - режим чтения
content = file.read()
file.close() # Важно закрывать файл!
# Использование контекстного менеджера (рекомендуется)
with open('characters.txt', 'r') as file:
content = file.read() # Файл закроется автоматически
# Режим чтения ('r')
with open('talents.txt', 'r') as file:
data = file.read()
# Режим записи ('w') - создаёт новый или перезаписывает
with open('artifacts.txt', 'w') as file:
file.write('Атака +18%\n')
# Режим добавления ('a') - добавляет в конец
with open('log.txt', 'a') as file:
file.write('Новый артефакт получен\n')
# Бинарный режим ('rb', 'wb')
with open('character.dat', 'wb') as file:
file.write(b'binary data')
# Чтение всего файла
with open('dialog.txt', 'r') as file:
content = file.read() # Весь текст одной строкой
# Чтение построчно
with open('quests.txt', 'r') as file:
lines = file.readlines() # Список строк
# Чтение построчно в цикле
with open('items.txt', 'r') as file:
for line in file:
print(line.strip()) # strip() убирает \n
# Чтение определённого количества символов
with open('story.txt', 'r') as file:
chunk = file.read(100) # Первые 100 символов
# Запись строки
with open('inventory.txt', 'w') as file:
file.write('Травы\n')
file.write('Руды\n')
# Запись списка строк
items = ['Меч', 'Лук', 'Копьё']
with open('weapons.txt', 'w') as file:
file.writelines(f'{item}\n' for item in items)
# Форматированная запись
character = {
'name': 'Венти',
'level': 90,
'weapon': 'Небесное крыло'
}
with open('character.txt', 'w') as file:
file.write(f"Имя: {character['name']}\n")
file.write(f"Уровень: {character['level']}\n")
file.write(f"Оружие: {character['weapon']}\n")
Создайте систему сохранения и загрузки информации о персонаже:
Подсказка: Примеры работы с файлами:
# Пример структуры файла сохранения
def save_character(character, filename):
with open(filename, 'w') as file:
file.write(f"Name: {character.name}\n")
file.write(f"Level: {character.level}\n")
# Пример создания лога
def log_change(message):
with open('changes.log', 'a') as log:
timestamp = time.strftime('%Y-%m-%d %H:%M:%S')
log.write(f"[{timestamp}] {message}\n")