| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- // Author: NiuJiuRu
- // Email: niujiuru@qq.com
- package baseapp
- import (
- "fmt"
- "os"
- "os/exec"
- "path/filepath"
- )
- // 当前可执行文件的路径
- var EXEC_DIR string
- // 当前可执行文件的名字
- var EXEC_FILENAME string
- // 配置文件路径
- var CFG_DIR string
- // 程序日志目录
- var LOG_DIR string
- // 记录运行状态
- var RUN_DIR string
- // 变动缓存文件
- var VAR_DIR string
- // 相机图片目录
- var IMG_DIR string
- func InitPath() {
- file, err := exec.LookPath(os.Args[0])
- if err != nil {
- fmt.Printf("An error occurred while calling the exec.LookPath() function: %v\n", err)
- os.Exit(1)
- }
- path, err := filepath.Abs(file)
- if err != nil {
- fmt.Printf("An error occurred while calling the filepath.Abs() function: %v\n", err)
- os.Exit(1)
- }
- EXEC_DIR = filepath.Dir(path)
- EXEC_FILENAME = filepath.Base(path)
- CFG_DIR = filepath.Join(EXEC_DIR, "config")
- LOG_DIR = filepath.Join(EXEC_DIR, "log")
- RUN_DIR = filepath.Join(EXEC_DIR, "status")
- VAR_DIR = filepath.Join(EXEC_DIR, "var")
- IMG_DIR = filepath.Join(EXEC_DIR, "cam_img")
- for _, dir := range []string{CFG_DIR, LOG_DIR, RUN_DIR, VAR_DIR, IMG_DIR} {
- if err := ExistsDir(dir, true); err != nil {
- fmt.Printf("Failed to create the %s directory: %v\n", dir, err)
- os.Exit(1)
- }
- }
- }
- func ExistsDir(dir string, create bool) error {
- var err error
- _, err = os.Stat(dir)
- if os.IsNotExist(err) && create {
- err = os.MkdirAll(dir, os.ModePerm)
- }
- return err
- }
|