Установка модуля Python

Модули python являются просто импортированными скриптами. Модули могут быть общедоступными (такими как time и subprocess) или собственными. В рамках данного материала будет рассмотрено как установить модуль python.

 

Как установить модуль Python

Рассмотрим простейший скрипт на python, который будет использовать встроенный модуль time

 

mcedit modules.py

import time

print («Get some sleep»)
print(time.sleep(2))
print («Wake up»)

 

Первой строкой модуль импортируется, это означает, что функции, которые в нем заложены можно будет использовать в скрипте. В данном случае мы используем только одну из них — функцию sleep.

Таких модулей очень много, использовать их удобнее, чем реализовывать весь необходимый для работы приложения функционал с нуля.

 

Поскольку модуль является по сути просто скриптом, состоящим из некоторого количества функций, загруженным и использующимся оболочкой, создать модуль python можно самостоятельно.

 

Написать свой импортируемый скрипт

Напишем свой простейший модуль, затем импортируем его в оболочку

mcedit lesson.py

import subprocess

def main():
df = subprocess.call(['df', '-h'])
print (df)

def free():
free = subprocess.call(['free', '-m'])
print (free)

if __name__ == '__main__': main()

 

Обращаясь к скрипту в консоли сейчас получаем такой результат

python3 lesson.py

Filesystem Size Used Avail Use% Mounted on
udev 918M 0 918M 0% /dev
tmpfs 188M 6,3M 182M 4% /run
/dev/sda2 65G 16G 46G 25% /
tmpfs 937M 41M 896M 5% /dev/shm
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 937M 0 937M 0% /sys/fs/cgroup
/dev/sda3 393G 240G 134G 65% /home
cgmfs 100K 0 100K 0% /run/cgmanager/fs
tmpfs 188M 0 188M 0% /run/user/122
tmpfs 188M 64K 188M 1% /run/user/1000

 

Т.е. отрабатывает функция main().

 

Теперь перейдем в оболочку python3 и импортируем модуль затем используем одну из написанных ранее функций (выводящую количество свободной оперативной памяти)

python3

Python 3.5.2 (default, Nov 23 2017, 16:37:01)
[GCC 5.4.0 20160609] on linux
Type «help», «copyright», «credits» or «license» for more information.

>>> import lesson

 

>>> lesson.free()

total used free shared buff/cache available
Mem: 1872 1247 133 136 491 261
Swap: 1905 584 1321
0

 

Таким же образом модуль можно использовать в других скриптах

mcedit try.py

import lesson

lesson.free()

 

Вывод при обращении к файлу будет аналогичным

python3 try.py

total used free shared buff/cache available
Mem: 1872 1254 118 140 499 250
Swap: 1905 583 1322
0

 

Модуль lesson сам является скриптом, чтобы он успешно импортировался у файла должно быть расширение .py, в имени же модуля расширение указывать не нужно.

 

В скриптах которые, используются как модули всегда прописывается конструкция if __name__ == '__main__'.