序言
用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 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程序。这样看起来更有调理。
|