add os.system

This commit is contained in:
blueloveTH 2023-08-12 16:09:53 +08:00
parent 2811783712
commit 620e82f0ab
2 changed files with 11 additions and 0 deletions

View File

@ -23,6 +23,10 @@ Returns a list of files and directories in the given path.
Removes the file at the given path. Removes the file at the given path.
### `os.system(command: str) -> int`
Executes the given command in the system shell.
### `os.mkdir(path: str)` ### `os.mkdir(path: str)`
Creates a directory at the given path. Creates a directory at the given path.

View File

@ -113,6 +113,13 @@ void add_module_os(VM* vm){
return vm->None; return vm->None;
}); });
// system
vm->bind_func<1>(mod, "system", [](VM* vm, ArgsView args){
std::string cmd = CAST(Str&, args[0]).str();
int ret = system(cmd.c_str());
return VAR(ret);
});
vm->bind_func<1>(mod, "listdir", [](VM* vm, ArgsView args){ vm->bind_func<1>(mod, "listdir", [](VM* vm, ArgsView args){
std::filesystem::path path(CAST(Str&, args[0]).sv()); std::filesystem::path path(CAST(Str&, args[0]).sv());
std::filesystem::directory_iterator di; std::filesystem::directory_iterator di;