3

私は現在、いくつかの基本的な 2D グラフィカル ゲームを作成するための Python と Pygame の経験が比較的豊富です。ここで、構成ファイル (config.cfg) を作成して、ウィンドウの幅と高さ、FPS カウントなどのゲームの設定と構成を永続的に保存できるようにしたいと考えています。ファイルは縦に読む必要があります。

FPS = 30
WINDOW_WIDTH = 1280
WINDOW_HEIGHT = 720
etc.

明らかに、ゲームからこのファイルを読み取り (および作成)、テキスト ラベルに触れずに値を編集できる必要があります。Pythonでテキストファイルを使用して作業したことがありますが、これまで触れたことがないので、できるだけ多くのガイダンスが必要です. Windows 8 Pro x64でPygame 1.9でPython 3.3を使用しています。

前もってありがとう、イルミオント

4

3 に答える 3

3

これはconfigparser (ConfigParser for < Python 3) モジュールで行うことができます。

ドキュメントの例(これは Python 2.* 構文を使用します。使用する必要がありますconfigparser):

読んだ

import ConfigParser

config = ConfigParser.RawConfigParser()
config.read('example.cfg')

a_float = config.getfloat('Section1', 'a_float')
an_int = config.getint('Section1', 'an_int')
print a_float + an_int

if config.getboolean('Section1', 'a_bool'):
    print config.get('Section1', 'foo')

書く

import ConfigParser

config = ConfigParser.RawConfigParser()

config.add_section('Section1')
config.set('Section1', 'an_int', '15')
config.set('Section1', 'a_bool', 'true')
config.set('Section1', 'a_float', '3.1415')
config.set('Section1', 'baz', 'fun')
config.set('Section1', 'bar', 'Python')
config.set('Section1', 'foo', '%(bar)s is %(baz)s!')

with open('example.cfg', 'wb') as configfile:
    config.write(configfile)
于 2013-11-12T09:25:06.393 に答える
3

myConfig.cfg:

[info]

Width = 100

Height = 200

Name = My Game

Pythonでの解析:

import ConfigParser

configParser = ConfigParser.RawConfigParser()
configFilePath = os.path.join(os.path.dirname(__file__), 'myConfig.cfg')
configParser.read(configFilePath)
gameName = configParser.get("info","Name")
gameWidth  = configParser.get("info","Width")
gameHeight = configParser.get("info","Height")

configParser.set('info', 'Name', 'newName')
config.write(configFilePath)

説明:

最初に のインスタンスを作成し、それからファイルがConfigParserどこにあるかをインスタンスに伝えます。.cfg2番目の部分は、書き込みを処理します。

詳しくは:

ドキュメントからの構成パーサー

より柔軟なものを探している場合は、YAMLPyYAMLを試してください。

于 2013-11-12T09:26:42.250 に答える