@Akshin17
Пайтон програмист

Как использовать библиотеку Os с Numba python?

хотел пролистать все файлы с помощью библиотеки Оs, но это оказалось очень долго, решил использовать библиотеку Numba , но не получилось выходит ошибка
Код:
import os
from numba import njit
@njit()
def walki():
    path = 'C:\\Windows'
    print(numpy.array(os.walk(path)))
walki()

ошибка:
Traceback (most recent call last):
  File "C:/Users/*****/PycharmProjects/******/crypt/test.py", line 28, in <module>
    walki()
  File "C:\Users\*****\AppData\Local\Programs\Python\Python38\lib\site-packages\numba\core\dispatcher.py", line 415, in _compile_for_args
    error_rewrite(e, 'typing')
  File "C:\Users\*****\AppData\Local\Programs\Python\Python38\lib\site-packages\numba\core\dispatcher.py", line 358, in error_rewrite
    reraise(type(e), e, None)
  File "C:\Users\****\AppData\Local\Programs\Python\Python38\lib\site-packages\numba\core\utils.py", line 80, in reraise
    raise value.with_traceback(tb)
numba.core.errors.TypingError: Failed in nopython mode pipeline (step: nopython frontend)
Unknown attribute 'walk' of type Module(<module 'os' from 'C:\\Users\\*****\\AppData\\Local\\Programs\\Python\\Python38\\lib\\os.py'>)

File "test.py", line 15:
def walki():
    <source elided>
    path = 'C:\\Windows'
    print(numpy.array(os.walk(path)))
    ^

During: typing of get attribute at C:/Users/*****/PycharmProjects/****/crypt/test.py (15)

File "test.py", line 15:
def walki():
    <source elided>
    path = 'C:\\Windows'
    print(numpy.array(os.walk(path)))
    ^


Process finished with exit code 1
  • Вопрос задан
  • 143 просмотра
Пригласить эксперта
Ответы на вопрос 1
@likeviolence
библиотека numba крайне придирчивая и умеет работать лишь с небольшой частью python, а что уже говорить о других библиотеках. Вот статья с хабра которая рассказывает об этом:

В разогнанных функциях можно использовать только часть функционала питона и нумбы. Все операторы, функции и классы делятся в отношении нумбы на две части: те, которые нумба «понимает» и те, которые она «не понимает».
Никакие другие библиотеки (в частности, scipy и pandas) она не понимает совсем.

https://habr.com/ru/post/484136/

Поэтому думаю вам стоит пересмотреть сам алгоритм и суть вашей задачи, в целом numba используется больше в научных целях, чем в парсинге файлов системы
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы