ProIT: медіа для профі в IT
3 хв.

Лайфхаки для роботи з Python: запуск одного сценарію Python з іншого

author avatar ProIT NEWS

У Python ми можемо запускати один файл з іншого за допомогою оператора import для інтеграції функцій або модулів, функції exec() для динамічного виконання коду, модуля subprocess для запуску сценарію як окремого процесу або функції os.system() для виконання команди для запуску іншого файлу Python у тому самому процесі.

Фахівці Geeks For Geeks розглянули всі підходи, які використовуються, щоб змусити один файл Python запускати інший.

Запуск одного сценарію Python з іншого в Python

Нижче наведено кілька способів, за допомогою яких ми можемо змусити один файл Python запускати інший у Python:

  • Використання оператора імпорту.
  • Використання функції exec().
  • Використання модуля підпроцесу.
  • Використання функції os.system().

Змусити один файл Python запускати інший за допомогою модуля імпорту

У цьому прикладі file_2.py імпортує функції з file_1.py за допомогою оператора import.

Викликаючи імпортовану функцію у file_2.py (file_1.printing()), код виконує функцію printing(), визначену у file_1.py, що дозволяє інтегрувати та виконувати код з одного файлу в іншому.

  • Python3
# file_1.py
 
# creating function
def printing():
    print("Hello world!")
  • Python3
   
# file_2.py
 
# importing file_1
import file_1
 
# calling function of file_1.py form file_2.py
file_1.printing()

Output:

Використання оператора імпорту

Запустіть один сценарій Python з іншого за допомогою функції exec()

У цьому прикладі file_2.py відкриває та читає file_1.py. За допомогою оператора with та функції «open» відкривається file_1.py, а функція «read» читає file_1.py.

Код, зчитаний із file_1.py, буде виконано за допомогою функції exec() у file_2.py.

  • Python3
# file_1.py
 
# printing hello world!
print("Hello world!")
  • Python3
# file_2.py
 
# opening file_1.py and reading it with read() and executing if with exec()
with open("file_1.py") as file:
    exec(file.read())

Output:

Використання функції exec().

Запуск одного сценарію з іншого за допомогою модуля підпроцесу

У цьому прикладі file_2.py імпортує модуль підпроцесу за допомогою оператора import. За допомогою функції run() сценарій Python у file_1.py буде виконано як окремий процес у file_2.py.

  • Python3
# file_1.py
 
# printing This is file_1 content.
print("This is file_1 content.")
  • Python3
   
# file_2.py
 
# importing subprocess module 
import subprocess
 
# running other file using run()
subprocess.run(["python", "file_1.py"])

Output:

Використання модуля підпроцесу

Запустіть один сценарій Python з іншого за допомогою функції os.system()

У цьому прикладі file_2.py імпортує модуль OS за допомогою оператора import. Потім використання os.system() для виконання команди python file_1.py і file_1.py виконуватимуться в одному процесі, але в окремій системній оболонці.

  • Python3
   
# file_1.py
 
# printing This is file_1 content.
print("This is file_1 content.")
  • Python3
# file_2.py
 
# importing os module
import os
 
# running other file using run()
os.system("python file_1.py")

Output:

Використання функції os.system().

Розуміння того, як змусити один файл Python запускати інший, є корисною навичкою для написання організованого та модульного коду. Використання оператора імпорту та розуміння концепції модулів дозволяє покращити повторне використання коду. Включення функцій і класів покращує структуру й читабельність вашого коду.

Пам’ятайте про впорядкування файлів і дотримання правил іменування, що є важливими для процесу спільної розробки. По суті, оволодіння цими техніками допоможе вам створювати добре структуровані й масштабовані програми Python.

Читайте також на ProIT, як оновити SSD меншого розміру до більшого.

Підписуйтеся на ProIT у Telegram, щоб не пропустити жодної публікації!

Приєднатися до company logo
Продовжуючи, ти погоджуєшся з умовами Публічної оферти та Політикою конфіденційності.