import json
# Сохранение данных персонажа
character_data = {
"name": "Венти",
"level": 90,
"constellation": 1,
"talents": {
"normal_attack": 8,
"skill": 8,
"burst": 9
},
"weapon": {
"name": "Небесное крыло",
"refinement": 1
}
}
# Запись в JSON
with open('character.json', 'w', encoding='utf-8') as f:
json.dump(character_data, f, ensure_ascii=False, indent=4)
# Чтение из JSON
with open('character.json', 'r', encoding='utf-8') as f:
loaded_char = json.load(f)
# Преобразование в строку
json_str = json.dumps(character_data, ensure_ascii=False)
# Из строки
data = json.loads(json_str)
import csv
# Запись статистики фарма артефактов
artifacts_stats = [
['Дата', 'Домен', 'Потрачено смолы', '5* артефакты', 'Подходящие статы'],
['2024-01-15', 'Горный пик', 160, 8, 1],
['2024-01-16', 'Горный пик', 160, 7, 0],
]
# Запись в CSV
with open('farming_stats.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerows(artifacts_stats)
# Чтение из CSV
with open('farming_stats.csv', 'r', encoding='utf-8') as f:
reader = csv.reader(f)
headers = next(reader) # Пропускаем заголовки
for row in reader:
date, domain, resin, artifacts, good_ones = row
print(f"Получено {good_ones} хороших артефактов из {artifacts}")
# Использование DictReader/DictWriter
with open('artifacts.csv', 'r', encoding='utf-8') as f:
reader = csv.DictReader(f)
for row in reader:
print(f"Домен: {row['Домен']}, 5*: {row['5* артефакты']}")
import configparser
# Создание конфигурации
config = configparser.ConfigParser()
# Настройки для разных персонажей
config['Венти'] = {
'artifact_set': 'Странствующий ансамбль',
'weapon': 'Небесное крыло',
'main_stats': 'АТК%, Анемо ДПС, Крит шанс'
}
config['Ху Тао'] = {
'artifact_set': 'Горящая алая ведьма',
'weapon': 'Посох Хомы',
'main_stats': 'HP%, Пиро ДПС, Крит урон'
}
# Сохранение конфигурации
with open('builds.ini', 'w', encoding='utf-8') as f:
config.write(f)
# Чтение конфигурации
config.read('builds.ini', encoding='utf-8')
venti_weapon = config['Венти']['weapon']
hutao_stats = config['Ху Тао']['main_stats']
from pathlib import Path
# Создание путей
saves_dir = Path('saves')
builds_dir = saves_dir / 'builds'
builds_dir.mkdir(parents=True, exist_ok=True)
# Работа с файлами
character_file = builds_dir / 'venti.json'
if character_file.exists():
data = json.loads(character_file.read_text(encoding='utf-8'))
# Поиск файлов
artifact_files = list(builds_dir.glob('*.json'))
for file in artifact_files:
print(f"Найден билд: {file.stem}")
Создайте систему для сохранения и загрузки билдов персонажей с поддержкой разных форматов:
Подсказка: Примеры структур данных и функций:
# Пример структуры билда
build = {
"version": "1.0",
"character": {
"name": "Венти",
"level": 90,
"talents": [8, 8, 9]
},
"weapon": {...},
"artifacts": [...],
"teams": [...]
}
# Пример функции экспорта
def export_build(build, format='json'):
if format == 'json':
return export_to_json(build)
elif format == 'csv':
return export_to_csv(build)