in 1.0.2

Python's input() for Rust
Documentation
#[macro_export]
macro_rules! input {
    () => {
        {   
            let mut input = std::string::String::new();
            std::io::stdin().read_line(&mut input).unwrap();
            input
        }
    };
    ($($arg:tt)*) => {
        {
            use std::io::Write;
            std::print!($($arg)*);
            std::io::stdout().flush().unwrap();
            let mut input = std::string::String::new();
            std::io::stdin().read_line(&mut input).unwrap();
            input
        }
    };
}
#[macro_export]
macro_rules! inputln {
    () => {
        {
            input!()
        }
    };
    ($($arg:tt)*) => {
        {
            use std::io::Write;
            std::println!($($arg)*);
            std::io::stdout().flush().unwrap();
            let mut input = std::string::String::new();
            std::io::stdin().read_line(&mut input).unwrap();
            input
        }
    };
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn test_input() {
        let input = input!("test: ");
        println!("{}", input);
        assert!(true);
    }
}