Я хочу создать скрипт, который просматривает файл Python и находит все операторы import
.Возможные варианты их следующие:
import os
import numpy as np
from itertools import accumulate
from collections import Counter as C
from pandas import *
Глядя на них, можно утверждать, что логика должна быть:
Получить мне все <foo>
отfrom <foo>
заявления и те <bar>
из import <bar>
, которым не предшествует from <foo>
.
Чтобы перевести вышеприведенное в регулярное выражение, я написал:
from (\w+)|(?<!from \w+)import (\w+)
Кажется, проблема в нефиксированной ширине негативного вида сзади, но я не могу исправить ее.
РЕДАКТИРОВАТЬ:
В качестве бонуса было бы также неплохозахватить несколько включений, как в:
import sys, glob