Мало того, что os.system
не единственный способ, это особенно плохой способ.os.system
представляет собой угрозу безопасности, и ее следует избегать почти в 100% случаев.
То, что вы хотите, звучит как subprocess.run
.Если вы хотите запустить другой скрипт Python, используя тот же интерпретатор, который выполняет текущий, вы можете сделать:
import os
import subprocess
import sys
subprocess.run([sys.executable, os.path.abspath('path/to/script.py')])
При этом вы уверены, что хотите запустить другой скрипт как отдельный процесс ?Скорее всего, лучшим решением было бы извлечь повторно используемую библиотеку функций Python и import
эту библиотеку в ваши различные сценарии.
Создание и упаковка коллекции модулей Python вМногоразовая библиотека может быть нетривиальной задачей, потому что она перемещает вас от «коллекции несвязанных скриптов» к «пакетному программному продукту».Если у вас есть сценарии, которые должны начать обмениваться деталями реализации, то вам, вероятно, следует начать думать о разделяемом коде как о библиотеке.