Форум сайта python.su
0
Start = 'yes' if Start == "yes": asd = open("data_players.txt", "w+") dsa = asd.read() print(dsa) if dsa == "1": file = open('data_players.txt','r+') file.write("0") file.close print('save') elif dsa == 0: print('good')
Офлайн
61
import os # Add fuction for work with user data def save_user_data(file, value=None): """Func return saved user data or create new Parameters: file (str): file name value (int): new user value Returns: user value (int) """ # add file path file_path = os.path.join(os.getcwd(), file) # Check if file is exist if os.path.exists(file_path): file_mode = "r+" else: file_mode = "w+" # work with file with open(file_path, file_mode) as user_data: # update user data if value: balance = str(value) user_data.writelines(balance) else: # read user data balance = user_data.readline() # if user data isn't added yet if balance == "": balance = "0" user_data.writelines(balance) return int(balance) # Read users data at start app user1 = save_user_data("user1.txt") user2 = save_user_data("user2.txt") print(f"User1: {user1} | User2: {user2}") # Update users vars in main app cycle for i in range(0, 2): user1 = user1 + 1 user2 = user2 + 1 # or you can saved user data every time without end save # save_user_data("user1.txt", user1) # save_user_data("user2.txt", user2) print(f"User1_updated: {user1} | User2_updated: {user2}") # End save save_user_data("user1.txt", user1) save_user_data("user2.txt", user2) print(f"User1_saved: {user1} | User2_saved: {user2}")
Офлайн
568
asdwer_123мне кажется разумнее иметь два конфига - один дефолтный, с которым начинается игра и который поставляется вместе с кодом, а сохранения происходят в хоум каталоге пользователя
Хочу чтобы если нету в файле баланса то создать и продолжить дальше
а если есть то добавить его в переменую и после когда кончится типо игра сохранило баланс в файл (той же)
Офлайн
0
FishHookНу я пробую сохранить файл в C
например E
и скрипт просто умрет
Офлайн
568
asdwer_123
то есть вы пишите на питоне игру виндовз-онли? А зачем такое ограничение? Питон кроссплатформенный язык, то есть ваша программа будет без проблем работать хоть на винде, хоть на никсах, хоть на маке, хоть на андроиде. Но вы искусственно ограничиваете применение жестко задавая пути характерные только для виндовз
Офлайн
0
FishHookНу а куда лучше сохранять файлы ? чтобы можно было использовать их как вы говорите
asdwer_123то есть вы пишите на питоне игру виндовз-онли? А зачем такое ограничение? Питон кроссплатформенный язык, то есть ваша программа будет без проблем работать хоть на винде, хоть на никсах, хоть на маке, хоть на андроиде. Но вы искусственно ограничиваете применение жестко задавая пути характерные только для виндовз
FishHook
хоть на винде, хоть на никсах, хоть на маке, хоть на андроиде.
Офлайн
568
asdwer_123
в домашний каталог пользователя, конечно. Ваши игры же не сохраняют сейвы в корень диска С, правильно? Каким-то образом, они определяют, где лежат данные текущего пользователя и пишут туда, а так как игры запускаются от имени того же пользователя, не возникает никаких проблем с правами доступа и не засераются системные каталоги. Только не спрашивайте “а как это сделать”, это гуглится за секунду, пусть будет вашим домашним заданием
Офлайн
61
asdwer_123Ты издеваешься?
file_path = os.path.join(os.getcwd(), file) file_path = os.path.join(os.environ['APPDATA'], file)
Отредактировано ZerG (Июль 19, 2022 16:47:07)
Офлайн