Python call

Код Python как внешняя shell-команда

Самый простой способ запускать код Python через shell-команду и её аргументы с помощью std::process::Command.

Запуск файла с Python-скриптом

Файл pyhello.py кладём в корень проекта или в папку python. Тест-код:

if __name__ == "__main__":
    print("Hello from python file code!")

Запускаем:

use std::process::Command;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let output = Command::new("python3").arg("./python/pyhello.py").output()?;
    println!("Output: {}", String::from_utf8_lossy(&output.stdout));
Ok(()) }

Запуск inline Python-кода

Определяем код Python как строку и запускаем:

    let python_code = r#"
    import sys
    print(f"Python version: {sys.version}")
	print("Hello from inline Python!")
    "#;

    let output = Command::new("python3")
        .arg("-c")
        .arg(python_code)
        .output()?;

    println!("{}", String::from_utf8_lossy(&output.stdout));

    Ok(())