Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: Как запустить питон файл через питон: ищу советы и примеры

  1. Как запустить питон файл через питон: ищу советы и примеры

    Привет, кодеры! Нужна помощь тех, кто шарит: как запустить питон файл через питон? Есть у меня скрипт file1.py, который должен запускать file2.py изнутри. Надо, чтобы в одном скрипте стартовал другой, и передавались данные. Кто знает, как это правильно организовать? Буду признателен за примеры кода и любые советы!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Привет! Можно просто юзать встроенный модуль subprocess. Внутри file1.py заюзай такой код:
    Программный код:
    import subprocess
    subprocess
    .run(["python""file2.py"]) 
    Это просто вызовет file2.py как отдельный процесс.

  4. Цитата Сообщение от Groot
    Привет! Можно просто юзать встроенный модуль subprocess. Внутри file1.py заюзай такой код:
    Программный код:
    import subprocess
    subprocess
    .run(["python""file2.py"]) 
    Это просто вызовет file2.py как отдельный процесс.
    О, круто! Я и не знал, что у subprocess такие возможности. Спасибо за наводку!

  5. Если хочешь передавать данные, сделай это через аргументы командной строки. Примерно так:
    Программный код:
    import subprocess
    subprocess
    .run(["python""file2.py""arg1""arg2"]) 
    А в file2.py обработай их через sys.argv. Удачи!

  6. Цитата Сообщение от AsteroidHunter
    Если хочешь передавать данные, сделай это через аргументы командной строки. Примерно так:
    Программный код:
    import subprocess
    subprocess
    .run(["python""file2.py""arg1""arg2"]) 
    А в file2.py обработай их через sys.argv. Удачи!
    Да-да, sys.argv - тема! Часто пользую, удобно для простых задач.

  7. Короче, если ты лентяй, бери exec и не парься:
    Программный код:
    with open("file2.py") as f:
        
    exec(f.read()) 
    Это прям бегу в интерпретаторе другой файл.

  8. Цитата Сообщение от Людмила Александровна
    Короче, если ты лентяй, бери exec и не парься:
    Программный код:
    with open("file2.py") as f:
        
    exec(f.read()) 
    Это прям бегу в интерпретаторе другой файл.
    Блин, exec опасная штука, можно легко поломать что-то. Лучше subprocess всё-таки.

  9. Йоу, еще один вариант - использовать import. Например:
    Программный код:
    import file2
    file2
    .main_method() 
    Круто прокатывает, если структура скриптов правильная и есть функция main.

  10. Цитата Сообщение от Виола
    Йоу, еще один вариант - использовать import. Например:
    Программный код:
    import file2
    file2
    .main_method() 
    Круто прокатывает, если структура скриптов правильная и есть функция main.
    Импорт - норм тема, но не всегда подходит. А если нужно запустить скрипт в другом environment? Тут subprocess рулит.

Страница 1 из 2 12 ПоследняяПоследняя