Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 7, 2018 02:19:37

VIRTOK
Зарегистрирован: 2017-10-23
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с модулями

Прошу пояснить как можно в модуль к скрипт если он находится в другой папке .
Как правильно сделать пакет?
Как подключить пакет и модули которые в нем содержатся?

Офлайн

#2 Окт. 7, 2018 12:13:03

Gerod
Зарегистрирован: 2018-10-07
Сообщения: 46
Репутация: +  2  -
Профиль   Отправить e-mail  

Работа с модулями

Не очень понял вопрос,

Ты имел виду: как из одново модуля(библеотеки) импортировать классы, функции от туда и их использовать?

Отредактировано Gerod (Окт. 7, 2018 12:31:29)

Офлайн

#3 Окт. 7, 2018 12:37:24

Gerod
Зарегистрирован: 2018-10-07
Сообщения: 46
Репутация: +  2  -
Профиль   Отправить e-mail  

Работа с модулями

Если да, то смотри:

Есть 2 файла к примеру: main.py, get.py

<main.py>
#Тут программа которую ты пишешь и хочешь сюда перенести функцию из get.py
#из get импортируем функцию hi
from get import hi
hi()


<get.py>
#От сюда будем импортировать функцию

def hi():
print(“hello world”)

Офлайн

#4 Окт. 7, 2018 12:56:06

VIRTOK
Зарегистрирован: 2017-10-23
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с модулями

Нужно подключить файлы с функциями которые лежат в отдельной папке к основному файлу питон.И того к файлу Start.py нужно подключить отмечены 1 на скрине файлы.
Как мне лучше это сделать ?

Отредактировано VIRTOK (Окт. 7, 2018 13:07:31)

Прикреплённый файлы:
attachment 2018-10-07_12-53-03.png (31,4 KБ)

Офлайн

#5 Окт. 7, 2018 13:17:00

Gerod
Зарегистрирован: 2018-10-07
Сообщения: 46
Репутация: +  2  -
Профиль   Отправить e-mail  

Работа с модулями

http://qaru.site/questions/15428/importing-files-from-different-folder

Я думаю тебе будет полезно почитать, там описывают эффективные способы.

Офлайн

#6 Окт. 7, 2018 15:35:56

VIRTOK
Зарегистрирован: 2017-10-23
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с модулями

Сделал так
1. Прописал в Start.py

 import sys
sys.path.insert(0, 'D:\\Libs\\')

2. Сделайте пустой файл с именем __ init __.py в вашем подкаталоге (это говорит, что Python это модуль)

Start.py
имя-папки libs
__ init __.py
FTP.py

3. Импорт модуля внутри папки
Прописал в Start.py
 from libs import FTP

Итого в Start.py получилось

 import sys
sys.path.insert(0, 'D:\\Libs\\')
from libs import FTP


Вывод: Модули не подключились

Офлайн

#7 Окт. 7, 2018 19:46:17

Vladimirv
Зарегистрирован: 2013-03-22
Сообщения: 108
Репутация: +  7  -
Профиль   Отправить e-mail  

Работа с модулями

VIRTOK
Вывод: Модули не подключились
А чего вы решили, что модуль не подключился? Где вывод ошибки?
Ваш модуль подключен, просто запустите тестовую функцию из модуля. А также строчки с sys не нужны и без них работает.

Офлайн

#8 Окт. 7, 2018 22:26:26

VIRTOK
Зарегистрирован: 2017-10-23
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с модулями

Текст ошибки

 Traceback (most recent call last):
  File "D:/Start.py", line 5, in <module>
    from libs import FTP
ImportError: cannot import name 'FTP' from 'libs' (unknown location)

Офлайн

#9 Окт. 9, 2018 14:02:06

Vladimirv
Зарегистрирован: 2013-03-22
Сообщения: 108
Репутация: +  7  -
Профиль   Отправить e-mail  

Работа с модулями

Проверьте расположение файлов и регистр имен файлов. Или создайте новые для теста, пример ниже.

 '''
расположение файлов
start.py
libs\ # it's dir
    FTP.py
    __init__.py
'''
# содержимое start.py
from libs import FTP
FTP.hello('VIRTOK')
# содержимое FTP.py
def hello(msg):
    print('Hello {}.'.format(msg))

Офлайн

#10 Окт. 9, 2018 23:16:25

VIRTOK
Зарегистрирован: 2017-10-23
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с модулями

Спасибо заработало пример в программки в архиве.

Прикреплённый файлы:
attachment test.zip (420 байт)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version