Убрать элементы списка с ошибкой нескольких аргументов
Я пытаюсь удалить много материала из текстового файла, чтобы переписать его. Текстовый файл содержит несколько сотен элементов, каждый из которых состоит из 6 строк. Я получил мой код, работающий до точки, где все строки помещаются в массив, идентифицируются только 2 важные в каждом элементе и удаляются пробелы, но любое дальнейшее удаление дает мне следующую ошибку:
У объекта 'list' нет атрибута 'strip'
Вот мой код:
x = 0
y = 0
names = []
colors = []
array = []
with open("AA_Ivory.txt", "r") as ins:
for line in ins:
array.append(line)
def Function (currentElement, lineInSkinElement):
name = ""
color = ""
string = array[currentElement]
if lineInSkinElement == 1:
string = [string.strip()]
# string = [string.strip()]
# name = [str.strip("\n")]
# name = [str.strip(";")]
# name = [str.strip(" ")]
# name = [str.strip("=")]
names.append(name)
return name
# if lineInSkinElement == 2:
# color = [str.strip("\t")]
# color = [str.strip("\n")]
# color = [str.strip(";")]
# color = [str.strip(" ")]
# color = [str.strip("=")]
# colors.append(color)
# return color
print "I got called %s times" % currentElement
print lineInSkinElement
print currentElement
for val in array:
Function(x, y)
x = x +1
y = x % 6
#print names
#print colors
в if
выписка по именам, удалив первый #
даст мне ошибку. Я пытался преобразовать элемент списка в строку, но потом я получаю дополнительные []
вокруг строки
if
заявление для color
можно игнорировать, я знаю, что это неисправно, и попытка исправить это то, что привело меня к моей текущей проблеме.
2 ответа
Хорошо, я нашел решение. Это была моя довольно глупая ошибка. Ошибка произошла из-за того, что [] во время выполнения функции strip сделал результат списком или элементом списка. Удаление их исправило это. Чувство облегчения, немного глупо, но облегченно.
но тогда я получаю дополнительные [] вокруг строки
Вы можете пройти через это, чтобы обойти перечисленную строку. Например:
for lst, item in string:
item = item.strip("\n")
item = item.strip(";")
item = item.strip(" ")
item = item.strip("=")
name.append(item)
return name
Это приведет вас к строке в списке, и вы можете добавить очищенную строку.
Если это не то, что вы искали, опубликуйте некоторые данные, с которыми вы работаете, чтобы уточнить.
Вы также можете сделать это в одной строке, используя следующий код.
item = item.strip("\n").strip("=").strip(";").strip()
Последняя полоса удалит пробелы.