из пути импорта ос импортируйте sys sys.path.append (путь.abspath(‘../progA’))

#python

#python

Вопрос:

Я не понимаю, что делает приведенный ниже код.

 from os import path
import sys
sys.path.append(path.abspath('../ProgA'))
  

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

1. Прочитал документы для sys.path ?

Ответ №1:

 from os import path
  

импортирует путь из модуля ос
это используется в строке 3

 import sys
  

импортирует модуль sys

 sys.path.append(path.abspath('../ProgA'))
  

Эта строка довольно сложная, поэтому я ее разберу

path.abspath() принимает относительный путь (из файла, выполняющего код) и предоставляет вам абсолютный путь к этому

например, если вы находитесь в каталоге /home/user /adi /documents и вызываете path.abspath(‘../progA’), то .. означает, что вы переходите в каталог a, затем ищете каталог с именем progA, поэтому конечным путем будет /home/user /adi /progA

sys.path — это просто место, где python ищет импорт, это по умолчанию в ваших пакетах сайта, но вы редактируете эту переменную

TLDR; код добавляет каталог ../progA к вашему sys.path, чтобы вы могли импортировать модули из каталога

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

1. итак, в принципе, это может быть полезно, если scriptA находится в папке проекта, отличной от scriptB, и мне нужно импортировать scriptB в scriptA, и я не могу просто сделать это с помощью «import scriptB»?