unix: Implement sys.argv.

genexit-inst
Paul Sokolovsky 2014-01-20 00:53:46 +02:00
parent f477bfbc75
commit fe2690da0a
2 changed files with 10 additions and 0 deletions

2
tests/io/argv.py 100644
View File

@ -0,0 +1,2 @@
import sys
print(sys.argv)

View File

@ -216,6 +216,10 @@ int main(int argc, char **argv) {
qstr_init();
rt_init();
mp_obj_t m_sys = mp_obj_new_module(qstr_from_str_static("sys"));
mp_obj_t py_argv = mp_obj_new_list(0, NULL);
rt_store_attr(m_sys, qstr_from_str_static("argv"), py_argv);
rt_store_name(qstr_from_str_static("test"), test_obj_new(42));
rt_store_name(qstr_from_str_static("open"), (mp_obj_t)&mp_builtin_open_obj);
rawsocket_init();
@ -254,7 +258,11 @@ int main(int argc, char **argv) {
return usage();
}
} else {
for (int i = a; i < argc; i++) {
rt_list_append(py_argv, MP_OBJ_NEW_QSTR(qstr_from_strn_copy(argv[i], strlen(argv[i]))));
}
do_file(argv[a]);
break;
}
}
}