Как сделать изменение игрового никнейма и чтобы он сохранился?

Как мне сделать чтобы игрок вёл свой новый ник и чтобы он сохранился в каком нибудь документе или же в базе данных?

код:

from colorama import init, Fore #/
from colorama import Back       #|
from colorama import Style      #|
import msvcrt                   #|
import subprocess
import sys
import os
import time
#-----------Библы-----------------

os.system("title 〡ELauncher • Ядро: SCore")

print("")
print(Fore.WHITE + "      ███████╗██╗░░░░░░█████╗░██╗░░░██╗███╗░░██╗░█████╗░██╗░░██╗███████╗██████╗░")
print(Fore.WHITE + "      ██╔════╝██║░░░░░██╔══██╗██║░░░██║████╗░██║██╔══██╗██║░░██║██╔════╝██╔══██╗")
print(Fore.BLUE + "      █████╗░░██║░░░░░███████║██║░░░██║██╔██╗██║██║░░╚═╝███████║█████╗░░██████╔╝")
print(Fore.BLUE + "      ██╔══╝░░██║░░░░░██╔══██║██║░░░██║██║╚████║██║░░██╗██╔══██║██╔══╝░░██╔══██╗")
print(Fore.RED + "      ███████╗███████╗██║░░██║╚██████╔╝██║░╚███║╚█████╔╝██║░░██║███████╗██║░░██║")
print(Fore.RED + "      ╚══════╝╚══════╝╚═╝░░╚═╝░╚═════╝░╚═╝░░╚══╝░╚════╝░╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝")
print(Style.RESET_ALL)
print("                От создателей EscapeWorld〡Выбран сервер: SCreate")
print(" ")
print("Выберите:")
print("1: Старт игры")
print("2: Выбор версии")
print("3: Настройка лаунчера")
print("4: Изменение игрового-никнейма")

def get_char():
    return msvcrt.getch().decode('utf-8')

option = ""

current_directory = 'C:/ELauncher'
my_path = os.path.join(current_directory, 'start.bat')

while True:
    key = get_char()
    if key == "1":
        option = "Начинаем играть!"
        #print("Проверяю...")
        os.system('cls' if os.name == 'nt' else 'clear')
        print("")
        print(Fore.WHITE + "      ███████╗██╗░░░░░░█████╗░██╗░░░██╗███╗░░██╗░█████╗░██╗░░██╗███████╗██████╗░")
        print(Fore.WHITE + "      ██╔════╝██║░░░░░██╔══██╗██║░░░██║████╗░██║██╔══██╗██║░░██║██╔════╝██╔══██╗")
        print(Fore.BLUE + "      █████╗░░██║░░░░░███████║██║░░░██║██╔██╗██║██║░░╚═╝███████║█████╗░░██████╔╝")
        print(Fore.BLUE + "      ██╔══╝░░██║░░░░░██╔══██║██║░░░██║██║╚████║██║░░██╗██╔══██║██╔══╝░░██╔══██╗")
        print(Fore.RED + "      ███████╗███████╗██║░░██║╚██████╔╝██║░╚███║╚█████╔╝██║░░██║███████╗██║░░██║")
        print(Fore.RED + "      ╚══════╝╚══════╝╚═╝░░╚═╝░╚═════╝░╚═╝░░╚══╝░╚════╝░╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝")
        print(Style.RESET_ALL)
        print("                От создателей EscapeWorld〡Выбран сервер: SCreate")
        print("Проверяем...")
        time.sleep(2.5)
        print("Загружаем...")
        time.sleep(2.5)
        subprocess.run([my_path], check=False) # -jar OptiFine 1.18.2.jar shell=True,
        time.sleep(2.5)
        break
        #time.sleep(2.5)
    elif key == "2":
        option = "Выбор версии"
        print("Пункт «Выбор версии» в разработке :[")
    elif key == "3":
        option = "Настройка лаунчера"
        print("Пункт «Настройка лаунчера» в разработке :[")
    elif key == "q":
        break
    elif key == "4":
        option = "Изменение игрового-ника"
        os.system('cls' if os.name == 'nt' else 'clear')
        print("")
        print(Fore.WHITE + "      ███████╗██╗░░░░░░█████╗░██╗░░░██╗███╗░░██╗░█████╗░██╗░░██╗███████╗██████╗░")
        print(Fore.WHITE + "      ██╔════╝██║░░░░░██╔══██╗██║░░░██║████╗░██║██╔══██╗██║░░██║██╔════╝██╔══██╗")
        print(Fore.BLUE + "      █████╗░░██║░░░░░███████║██║░░░██║██╔██╗██║██║░░╚═╝███████║█████╗░░██████╔╝")
        print(Fore.BLUE + "      ██╔══╝░░██║░░░░░██╔══██║██║░░░██║██║╚████║██║░░██╗██╔══██║██╔══╝░░██╔══██╗")
        print(Fore.RED + "      ███████╗███████╗██║░░██║╚██████╔╝██║░╚███║╚█████╔╝██║░░██║███████╗██║░░██║")
        print(Fore.RED + "      ╚══════╝╚══════╝╚═╝░░╚═╝░╚═════╝░╚═╝░░╚══╝░╚════╝░╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝")
        print(Style.RESET_ALL)
        print("                От создателей EscapeWorld〡Выбран сервер: SCreate")
        print("Введите новый ник:")
print(option)

Весь код которые я успел отредачить:

from colorama import init, Fore #/
from colorama import Back       #|
from colorama import Style      #|
import msvcrt                   #|
import subprocess
import sys
import os
import time
import getpass
import minecraft_launcher_lib
import json
#-----------Библы-----------------

os.system("title 〡ELauncher • Ядро: SCore")

# Запись ника в JSON файл
def save_name(username):
    with open('C:\\Users\\Amgarak\\Desktop\\settings.json', 'w') as file:
        json.dump([username], file)

# Чтение ника из JSON файла
def load_name():
    try:
        with open('C:\\Users\\Amgarak\\Desktop\\settings.json', 'r') as file:
            settings = json.load(file)
            return settings
    except FileNotFoundError:
        return []

print("")
print(Fore.WHITE + "      ███████╗██╗░░░░░░█████╗░██╗░░░██╗███╗░░██╗░█████╗░██╗░░██╗███████╗██████╗░")
print(Fore.WHITE + "      ██╔════╝██║░░░░░██╔══██╗██║░░░██║████╗░██║██╔══██╗██║░░██║██╔════╝██╔══██╗")
print(Fore.BLUE + "      █████╗░░██║░░░░░███████║██║░░░██║██╔██╗██║██║░░╚═╝███████║█████╗░░██████╔╝")
print(Fore.BLUE + "      ██╔══╝░░██║░░░░░██╔══██║██║░░░██║██║╚████║██║░░██╗██╔══██║██╔══╝░░██╔══██╗")
print(Fore.RED + "      ███████╗███████╗██║░░██║╚██████╔╝██║░╚███║╚█████╔╝██║░░██║███████╗██║░░██║")
print(Fore.RED + "      ╚══════╝╚══════╝╚═╝░░╚═╝░╚═════╝░╚═╝░░╚══╝░╚════╝░╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝")
print(Style.RESET_ALL)
print("                От создателей EscapeWorld〡Выбран сервер: SCreate")
# Загрузка ника из файла и вывод на экран
value_name = load_name()
print(f"Ваш никнейм: {value_name[0]}")
print(" ")
print("Выберите:")
print("1: Старт игры")
print("2: Выбор версии")
print("3: Настройка лаунчера")

def get_char():
    return msvcrt.getch().decode('utf-8')

option = ""

current_directory = 'C:/ELauncher'
my_path = os.path.join(current_directory, 'start.bat')

while True:
    key = get_char()
    if key == "1":
        os.system('cls' if os.name == 'nt' else 'clear')
        print("")
        print(Fore.WHITE + "      ███████╗██╗░░░░░░█████╗░██╗░░░██╗███╗░░██╗░█████╗░██╗░░██╗███████╗██████╗░")
        print(Fore.WHITE + "      ██╔════╝██║░░░░░██╔══██╗██║░░░██║████╗░██║██╔══██╗██║░░██║██╔════╝██╔══██╗")
        print(Fore.BLUE + "      █████╗░░██║░░░░░███████║██║░░░██║██╔██╗██║██║░░╚═╝███████║█████╗░░██████╔╝")
        print(Fore.BLUE + "      ██╔══╝░░██║░░░░░██╔══██║██║░░░██║██║╚████║██║░░██╗██╔══██║██╔══╝░░██╔══██╗")
        print(Fore.RED + "      ███████╗███████╗██║░░██║╚██████╔╝██║░╚███║╚█████╔╝██║░░██║███████╗██║░░██║")
        print(Fore.RED + "      ╚══════╝╚══════╝╚═╝░░╚═╝░╚═════╝░╚═╝░░╚══╝░╚════╝░╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝")
        print(Style.RESET_ALL)
        print("                От создателей EscapeWorld〡Выбран сервер: SCreate")
        print("Введите ник:")
        username = input(">")
        os.system('cls' if os.name == 'nt' else 'clear')
        print("")
        print(Fore.WHITE + "      ███████╗██╗░░░░░░█████╗░██╗░░░██╗███╗░░██╗░█████╗░██╗░░██╗███████╗██████╗░")
        print(Fore.WHITE + "      ██╔════╝██║░░░░░██╔══██╗██║░░░██║████╗░██║██╔══██╗██║░░██║██╔════╝██╔══██╗")
        print(Fore.BLUE + "      █████╗░░██║░░░░░███████║██║░░░██║██╔██╗██║██║░░╚═╝███████║█████╗░░██████╔╝")
        print(Fore.BLUE + "      ██╔══╝░░██║░░░░░██╔══██║██║░░░██║██║╚████║██║░░██╗██╔══██║██╔══╝░░██╔══██╗")
        print(Fore.RED + "      ███████╗███████╗██║░░██║╚██████╔╝██║░╚███║╚█████╔╝██║░░██║███████╗██║░░██║")
        print(Fore.RED + "      ╚══════╝╚══════╝╚═╝░░╚═╝░╚═════╝░╚═╝░░╚══╝░╚════╝░╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝")
        print(Style.RESET_ALL)
        print("                От создателей EscapeWorld〡Выбран сервер: SCreate")
        print("Ник: ", username, "выполняется вход...")
        time.sleep(2.5)
        #print("Проверяю...")
        os.system('cls' if os.name == 'nt' else 'clear')
        print("")
        print(Fore.WHITE + "      ███████╗██╗░░░░░░█████╗░██╗░░░██╗███╗░░██╗░█████╗░██╗░░██╗███████╗██████╗░")
        print(Fore.WHITE + "      ██╔════╝██║░░░░░██╔══██╗██║░░░██║████╗░██║██╔══██╗██║░░██║██╔════╝██╔══██╗")
        print(Fore.BLUE + "      █████╗░░██║░░░░░███████║██║░░░██║██╔██╗██║██║░░╚═╝███████║█████╗░░██████╔╝")
        print(Fore.BLUE + "      ██╔══╝░░██║░░░░░██╔══██║██║░░░██║██║╚████║██║░░██╗██╔══██║██╔══╝░░██╔══██╗")
        print(Fore.RED + "      ███████╗███████╗██║░░██║╚██████╔╝██║░╚███║╚█████╔╝██║░░██║███████╗██║░░██║")
        print(Fore.RED + "      ╚══════╝╚══════╝╚═╝░░╚═╝░╚═════╝░╚═╝░░╚══╝░╚════╝░╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝")
        print(Style.RESET_ALL)
        print("                От создателей EscapeWorld〡Выбран сервер: SCreate")
        print("Проверяем обновление...")
        time.sleep(2.5)
        print("Проверяем файлы...")
        time.sleep(2.5)
        subprocess.run([my_path, username])
        time.sleep(2.5)
        break
        #time.sleep(2.5)
    elif key == "2":
        option = "Выбор версии"
        print("Пункт «Выбор версии» в разработке :(")
    elif key == "3":
        option = "Настройка лаунчера"
        print("Пункт «Настройка лаунчера» в разработке :(")
    elif key == "q":
        break
        print(option)

Ответы (1 шт):

Автор решения: Amgarak

Воспользуйтесь Json, удобно хранить и использовать записанные данные.

Вот небольшой пример:

import json

# Запись настроек в JSON файл
def save_settings(nickname, settings):
    with open('C:\\Users\\Amgarak\\Desktop\\settings.json', 'w') as file:
        json.dump({nickname: settings}, file)

# Чтение настроек из JSON файла
def load_settings():
    try:
        with open('C:\\Users\\Amgarak\\Desktop\\settings.json', 'r') as file:
            settings = json.load(file)
            return settings
    except FileNotFoundError:
        return {}

# Ввод никнейма
nickname = input("Введите ваш никнейм: ")

# Ввод настроек 
settings = {}
settings['language'] = input("Выберите язык (русский\английский): ")
settings['theme'] = input("Выберите тему (светлая\темная): ")

# Сохранение настроек в файл
save_settings(nickname, settings)
print("Настройки сохранены успешно.")

# Загрузка настроек из файла и вывод на экран
value_settings = load_settings()
print(f"Настройки: {value_settings.get(nickname, 'не найдены')}")

Упростил пример:

import json

# Запись ника в JSON файл
def save_name(nickname):
    with open('C:\\Users\\Amgarak\\Desktop\\settings.json', 'w') as file:
        json.dump([nickname], file)

# Чтение ника из JSON файла
def load_name():
    try:
        with open('C:\\Users\\Amgarak\\Desktop\\settings.json', 'r') as file:
            settings = json.load(file)
            return settings
    except FileNotFoundError:
        return ["Ошибка чтения Json"]

# Ввод никнейма
nickname = input("Введите ваш никнейм: ")

# Сохранение ника в файл
save_name(nickname)
print("Никнейм сохранён успешно.")

# Загрузка ника из файла и вывод на экран
value_name = load_name()
print(f"Ваш никнейм: {value_name[0]}")
→ Ссылка