Pythons配置解析器将我的文件作为列表读取
我正在使用Pythons配置解析器将我的文件作为列表读取,python,configparser,Python,Configparser,我正在使用pygame创建一个游戏,并且我正在使用ConfigParser解析地图分幅的各种内容。但是当我到了我要做的部分 parse.read(filename) 它输出这个错误 self.level = self.config.get("level","map") AttributeError: 'list' object has no attribute 'get' 我猜parse.read(filename)返回的是一个列表,而不是它的目标对象。 我想这是我的代码。我一直在谷
pygame
创建一个游戏,并且我正在使用ConfigParser
解析地图分幅的各种内容。但是当我到了我要做的部分
parse.read(filename)
它输出这个错误
self.level = self.config.get("level","map")
AttributeError: 'list' object has no attribute 'get'
我猜parse.read(filename)
返回的是一个列表,而不是它的目标对象。
我想这是我的代码。我一直在谷歌搜索,但找不到任何与此相关的东西
import pygame
import ConfigParser
parse = ConfigParser.ConfigParser()
class MakeLevel():
def MapMake(self,spriteList,filename):
self.config = parse.read(filename)
self.level = self.config.get("level","map")
self.LegendDict = self.config.get("dictionary")
self.Proper = []
self.newTile = None
self.x = 0
self.y += 50
#Get propper legend stats
for items in LegendDict:
for row in level:
for col in row:
if col == items:
#LegendDict[items]
self.image = self.config.get(items, "image")
self.newTile = MapTile(self.image,self.x,self.y)
return spriteList.add(self.newTile)
x += 50
y += 50
x = 0
class MapTile(pygame.sprite.Sprite):
def __init__(self,image,x,y):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load(image)
self.rect = Rect(x, y, 32, 32)
class Controller():
def __init__(self):
pass
def Keys(self):
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_a:
return 'a'
if event.key == pygame.K_d:
return 'd'
if event.type == pygame.KEYUP:
if event.key == pygame.K_a:
return 'a up'
if event.key == pygame.K_d:
return 'd up'
AllSprites = pygame.sprite.Group()
makeLevel = MakeLevel()
makeLevel.MapMake(AllSprites,"level1.ini")
AllSprites.draw()
我也试着提前打开文件,但仍然不起作用
mapFile = open("level1.ini")
makeLevel.MapMake(AllSprites, mapFile)
我确保level1.ini
文件与main.py
文件位于同一文件夹中。
希望问题不是那么明显。返回一个成功解析的文件名列表,因此在您的示例中,self.config
是一个文件名列表——可能是['level1.ini']
。解析之后,您可能希望。从解析器获取。类似于此:
def MapMake(self,spriteList,filename):
parse.read(filename)
self.level = parse.get("level", "map")