序言
用bat执行脚本感觉不像一个程序,程序设计人员还是把执行程序写在编译语言里高级。编译语言可以加入定时任务、触发逻辑、程序执行逻辑、结果上报逻辑等等。还是exe的程序高级哦。
golang调用python写的代理抓包程序
package main import ( "flag" "fmt" "os" "os/exec" "strconv" "time" ) var pfileFlag = flag.String("pfile", "", "Description") var phourFlag = flag.String("phour", "", "Description") func main() { flag.Parse() pythonFile := *pfileFlag pythonHour := *phourFlag fmt.Println("goAppH5.exe -pfile=fetch_log -phour=11 ") if len(pythonFile) == 0 { pythonFile = "fetch_log" } var setHour int if len(pythonHour) > 0 { setHour, _ = strconv.Atoi(pythonHour) } else { setHour = 11 } nowTimeInt := time.Now().Hour() //小时 if nowTimeInt <= setHour { println(strconv.Itoa(setHour) + "点之前此程序不运行") os.Exit(1) } cmdLine := "python ./" + pythonFile + ".py" fmt.Println(cmdLine) cmd := exec.Command("cmd.exe", "/c", "start "+cmdLine) err := cmd.Run() fmt.Printf("%s, error:%v \n", cmdLine, err) time.Sleep(time.Duration(2) * time.Second) }
golang调用python写的采集app到h5的脚本程序
package main import ( "flag" "fmt" "os" "os/exec" "strconv" "time" ) var pfileFlag = flag.String("pfile", "", "Description") var phourFlag = flag.String("phour", "", "Description") func main() { flag.Parse() pythonFile := *pfileFlag pythonHour := *phourFlag fmt.Println("goAppH5.exe -pfile=fetch_log -phour=11 ") if len(pythonFile) == 0 { pythonFile = "exe_mouse_loop_app-h5" } var setHour int if len(pythonHour) > 0 { setHour, _ = strconv.Atoi(pythonHour) } else { setHour = 11 } nowTimeInt := time.Now().Hour() //小时 if nowTimeInt >= setHour { println(strconv.Itoa(setHour) + "点之后此程序不运行") os.Exit(1) } cmdLine := "python ./" + pythonFile + ".py" fmt.Println(cmdLine) cmd := exec.Command("cmd.exe", "/c", "start "+cmdLine) err := cmd.Run() fmt.Printf("%s, error:%v \n", cmdLine, err) time.Sleep(time.Duration(2) * time.Second) }
总结
采集程序千万别做成一堆bat脚本文件,建议做一成exe程序。这样看起来更有调理。