Загрузка текста из файла в Python - PullRequest
0 голосов
/ 27 ноября 2018

я пытаюсь загрузить однозначные числа построчно из файла в python, этот код выдает ошибку:

line 27, in <module>
environment.environment1.load_map(environmentVector)
TypeError: load_map() takes 1 positional argument but 2 were given

вот исходный код: (main.py)

environmentVector = []
environment.environment1 = environment.environment(160, 100, 32, 32)
environment.environment1.load_map(environmentVector)

environment.py:

    def load_map(environmentVector):
        string = ''
        with open('map.txt', 'r') as f:
            for line in f:
                string = f.readline()
                row = []
                for character in string:
                    if character == '0':
                        pass
                    elif character == '1':
                        environmentVector.append(environment)

1 Ответ

0 голосов
/ 27 ноября 2018

Перво-наперво, если load_map - это метод класса, первый аргумент, который ему нужно принять, это self.Либо добавьте self, либо отметьте load_map как статический метод с помощью @staticmethod См. this .

О вашей функции load_map: вместо итерации по строке, split Это.Также имеет смысл хранить подобную карту в 2D-списке.Попробуйте это:

def load_map(self, environmentVector):
    with open('map.txt', 'r') as f:
        for line in f:
            nums = list(map(int, line.split()))
            environmentVector.append(nums)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...