Как избавиться от того, что «numpy.ndarray» не имеет разделения атрибутов?

#python #numpy #split #attributeerror #numpy-stl

#python #numpy #разделение #ошибка атрибута #numpy-stl

Вопрос:

Я попытался отредактировать один файл stl. В связи с этим я прочитал файл stl, используя numpy-stl. Теперь, когда я пытаюсь разделить присутствующие в нем строки, он показывает мне ошибку как:

объект ‘numpy.ndarray’ не имеет атрибута ‘split’

Как это преодолеть? Ниже приведен код.

 import numpy as np
import stl
from stl import mesh


lines = mesh.Mesh.from_file('mesh.stl')
count = 0
for line in lines:
   if line.split()[0] == "solid":
      repl = line.split()[1]
      print(repl)
 

Любые предложения будут оценены.

С уважением, Сунаг Р. А.

Ответ №1:

Это потому, что вы получаете объект ndarray, к которому применяете разделение.

Просто преобразуйте его в строку (с помощью метода tostring()) перед выполнением, и он будет работать.

Комментарии:

1. Не могли бы вы, пожалуйста, пролить свет на то, как это сделать? Я имею в виду, как преобразовать объект ndarray в строку?

2. Я отредактировал вопрос. Просто используйте line.tostring()

3. * отредактировал ответ

4. Спасибо @Lore. Я попробовал это сейчас, в нем говорится: «Объект сетки не имеет атрибута ‘tostring’. Я что-то упускаю в этом?

5. Используйте line.tostring(), а не lines.tostring()

Ответ №2:

просто используйте str(line) tostring(line) метод instead