亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

`no such file or directory` with `os.Remove`

`no such file or directory` with `os.Remove`

Go
茅侃侃 2022-12-19 10:32:23
我使用 Cobra 框架向我的 CLI 應用程序添加了一個新命令。該命令應該啟動接受套接字連接的 TCP 服務器。它接收一個有效負載,它是absolute一個文件/目錄的路徑,并嘗試刪除它。這是命令的代碼package cmdimport (    "bufio"    "fmt"    "net"    "os"    "github.com/spf13/cobra"    "wpgenius.io/util")var cachePurgerCmd = &cobra.Command{    Use:   "cache-purger",    Short: "Listen for request to purge NGINX page cache",    Run: func(cmd *cobra.Command, args []string) {        dstream, err := net.Listen("tcp", ":9876")        if err != nil {            util.HandleError(err, "Can not start listener..")            return        }        fmt.Println("Listening for purge requests...")        defer dstream.Close()        for {            con, err := dstream.Accept()            if err != nil {                util.HandleError(err, "Can not accept connection")                os.Exit(1)            }            go handleRequest(con)        }    },}func handleRequest(con net.Conn) {    path, err := bufio.NewReader(con).ReadString('\n')    if err != nil {        return    }    defer con.Close()    err = os.Remove(path)    if err != nil {        con.Write([]byte("ERROR"))        fmt.Println(err)        util.HandleError(err, "Can not delete cache file")        return    }    con.Write([]byte("SUCCESS"))}func init() {    rootCmd.AddCommand(cachePurgerCmd)}盡管文件/目錄存在,但我仍然會no such file or directory出錯。我通過簡單地將它添加os.Remove到main函數中來進行健全性檢查,以確保它與路徑無關,并且我可以看到它成功刪除了文件/目錄。我不確定它是否go routing與tcp server!任何幫助將不勝感激!
查看完整描述

1 回答

?
Cats萌萌

TA貢獻1805條經驗 獲得超9個贊

我想重點是您輸入的路徑中的 \n 。



查看完整回答
反對 回復 2022-12-19
  • 1 回答
  • 0 關注
  • 130 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號