os模块
环境变量相关
getenv(key string) string
获取指定的环境变量,如果没有指定的环境变量,则返回空字符串
environ() map[string] string
获取所有的环境变量
setenv(name string, value string,overwrite bool) int
设置环境变量,如果overwrite为true则覆盖原来的环境变量,如果为false,若环境变量已存在,则不覆盖,若环境变量未存在,则新增
unsetenv(name string) int
清空指定名字的环境变量
操作系统相关
os.args
os模块常量,运行后只读,返回命令行的参数数组
os.getpid()
获取当前进程ID
executable() string
返回当前可执行文件的全路径和文件名
user_os() string
返回当前操作系统名字
home_dir() string
返回当前用户的主目录
执行命令
os.exec(string) ?Result
运行命令,运行完成后返回Result, Result.exit_code为运行结果码,Result.output为运行结果的字符串内容,运行结果并不输出到终端中
os.system(string) int
运行命令,将命令运行结果输出到终端,然后返回结果码,跟exit()的结果码一样
os.system('ln -sf $vexe $link_path')
os.system('ls')
进程相关
os.new_process() &Process
创建一个新的进程对象,此时并未实际创建进程,而是执行p.run()方法以后,才会实际创建,创建后才会生成对应的进程ID,可以通过p.pid访问到
目录相关
ext(path string) string
返回文件的扩展名,如果没有则返回空字符串
file_name(path string) string
返回路径中的文件名部分
dir(path string) string
返回路径中的目录部分,根据分隔符判断,如果没有分隔符则返回点号(当前目录)
base(path string) string
返回路径中的最后一个元素,根据分隔符判断,如果没有分隔符则返回path本身
is_abs_path(path string) bool
判断路径是否是绝对路径
join_path(base string, dir …string) string
把参数中的字符串连接成一个路径
getwd() string
返回当前工作目录
chdir(string)
改变当前工作目录
clear()
清屏
mv(old,new string)
移动文件
cp(old,new string) ?bool
复制文件
mkdir(dir) ?bool
创建目录
rmdir(dir)
删除目录
is_dir(path) bool
如果目录存在返回true,目录不存在返回false
ls(path string) [ ]string
获取该目录的所有文件和文件夹
is_writable_folder(folder string) ?bool
判断目录是否可写
walk_ext(path string,ext string) []string
返回改目录,及其下级子目录中所有,文件扩展名为ext的所有文件
文件相关
exists(path string) bool
判断文件或者目录是否存在
is_executable(path string) bool
判断文件是否是可执行文件
is_writable(path string) bool
判断文件是否可写
is_readable(path string) bool
判断文件是否可读
realpath(path string) string
返回文件夹或者文件的绝对路径
open(path string) ?File
打开文件,返回文件对象
create(path string) ?File
创建文件,返回文件对象
rm(path string)
删除文件
read_file(path string) ?string
读取文件,返回文件的内容
read_bytes(path string) ?[]byte
读取文件,返回字节数组
write_file(path string,text string)
创建文件,并写入text内容
file_size(path string) int
获取文件的大小
File.write(s string)
写入文件
File.write_bytes(data voidptr,size int)
写入字节
File.writeln(s string)
写入一行到文件
File.close()
关闭文件
控制台输入相关
get_row_line() string
获取控制台输入的一行字符串,回车换行结束,通过C.getline实现
get_line() string
获取控制台输入的一行字符串,回车换行结束
get_lines() []string
获取控制台输入的多行字符串,空行时回车换行结束,返回字符串数组
get_lines_joined() string
获取控制台输入的多行字符串,空行时换行结束,返回连接后的字符串
控制台输出相关
flush_stdout()
控制台清屏
常量
os.path_separator
不同平台的路径分隔符
子模块os.cmdline
目前一共有6个公共函数,用于获取选项之后/之前的参数
cmdline.options(args []string,param string) []string
获取数组args中,param之后的参数值,如果param在数组中多次出现,之后的参数值都取出来,按顺序保存在返回的参数值数组中
cmdline.option(args []string,param string,default string) string
获取数组args中,param之后的参数值,如果param没有出现在数组args中,则返回default 默认值
cmdline.options_before(args []string,what []string) []string
获取数组args中,如果元素有包含在数组what中,返回元素之前的参数值
cmdline.options_after(args []string,what []string) []string
获取数组args中,如果元素有包含在数组what中,返回元素之后的参数值
cmdline.only_non_options(args []string) []string
获取数组args中,所有不是以-开头的元素
cmdline.only_options(args []string) []string
获取数组arg中,所有以-开头的元素