python/
python.rs

1use expectrl::{repl::spawn_python, Expect, Regex};
2
3#[cfg(feature = "async")]
4use expectrl::AsyncExpect;
5
6#[cfg(not(feature = "async"))]
7fn main() {
8    let mut p = spawn_python().unwrap();
9
10    p.execute("import platform").unwrap();
11    p.send_line("platform.node()").unwrap();
12
13    let found = p.expect(Regex(r"'.*'")).unwrap();
14
15    println!(
16        "Platform {}",
17        String::from_utf8_lossy(found.get(0).unwrap())
18    );
19}
20
21#[cfg(feature = "async")]
22fn main() {
23    futures_lite::future::block_on(async {
24        let mut p = spawn_python().await.unwrap();
25
26        p.execute("import platform").await.unwrap();
27        p.send_line("platform.node()").await.unwrap();
28
29        let found = p.expect(Regex(r"'.*'")).await.unwrap();
30
31        println!(
32            "Platform {}",
33            String::from_utf8_lossy(found.get(0).unwrap())
34        );
35    })
36}