如何使用docopts在Rust中输入命令行参数?我想简单地在向量中输入u8并用docopts解析它。
答案 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
变量。