如何使用docops输入命令行参数?

时间:2015-03-20 22:16:20

标签: rust docopt

如何使用docopts在Rust中输入命令行参数?我想简单地在向量中输入u8并用docopts解析它。

2 个答案:

答案 0 :(得分:0)

您可以使用std::env::args方法获取迭代器。然后,您可以在迭代器上使用.collect来获取String s的向量。

use std::env;
fn main () {
    let args: Vec<String> = env::args().collect();
    println!("{:?}", args);
}

示例输出:

simon@Simon-Desktop:~$ rustc t.rs 
simon@Simon-Desktop:~$ ./t abc def
["./t", "abc", "def"]

答案 1 :(得分:-1)

这是我刚刚完成写作的一个例子。

import os
from docopt import docopt

arguments = docopt(__doc__, version= '1.0.0')

def walk(dir):

    for root, dirs, files in os.walk(dir):
        for filename in files:
            print os.path.join(root, filename)

if __name__ == '__main__':

    if arguments['-d'] is None:
        print __doc__
        exit(0)
    else:
        walk(arguments['-d'])

注意 if arguments['-d'] is None:行,这是您调用参数的方式。

此行arguments = docopt(__doc__, version= '1.0.0')设置arguments变量。

相关问题