Простые вопросы о вводе и выводе txt файла с Python 2.6 - PullRequest
2 голосов
/ 28 мая 2011

это мой первый пост в stackoverflow, и я все еще только изучаю Python и программирование в целом. Я работаю над некоторой простой игровой логикой, и я немного запутался в том, как Python обрабатывает ввод / вывод файлов.
То, что я пытаюсь сделать, это то, что во время игры игра сохраняет ряд переменных (все числовые, целочисленные данные), а когда игра заканчивается, выдает эту информацию в текстовый файл, который позже можно прочитать (снова, как числовые, целочисленные данные), чтобы их можно было добавить к. Трекер, правда.
Возможно, если вы играете в какую-нибудь гоночную игру, например, каждый раз, когда вы попадаете в пешехода, пешеходы + = 1. Затем, когда ваша игра заканчивается, после удара, как 23 пешехода, это число (наряду с любыми другими переменными, которые я хотел отследить) сохраняется в текстовый файл. Когда вы снова запускаете игру, она загружает число 23 обратно в переменную пешеходов, так что если вы нажмете еще 30 на этот раз, у вас будет всего 53, и так далее. Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 28 мая 2011

Это должен быть текст?Я бы использовал маринад, если бы не

http://docs.python.org/library/pickle.html

0 голосов
/ 28 мая 2011

Есть несколько способов сделать это.Вы хотите, чтобы файл был удобочитаемым или написанным человеком?(Может поощрять читерство, если вы это сделаете.)

Самое простое, что вы могли бы сделать - это использовать библиотеку ConfigParser, в которой хранятся простые данные, подобные описанным в текстовом файле.Что-то вроде:

Чтение:

import ConfigParser
config = ConfigParser.ConfigParser()
config.readfp(open('game_data.dat'))
dead_pedestrians = config.getint('JoeUser', 'dead_pedestrians')

Запись:

config = ConfigParser.RawConfigParser()
config.add_section('JoeUser')
config.set('JoeUser', 'dead_pedestrians', '15')
with open('game_data.dat', 'wb') as configfile:
    config.write(configfile)

Другие варианты: Если вы не хотите, чтобы оно было читабельным для человека, вы можете использоватьshelve (но умный пользователь, который знает, что вы используете python, посчитает тривиальным чтение.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...