在 Go 中使用需要字符转义的路径打开文件

我有一个文件可以os.open()让我返回,no such file or directory. 是否有一个函数可以转义文件名以获得正确的路径?类似于 net 包的东西QueryEscape?,但当然是文件路径


这是路径名 "Music/3OH!3 - Streets Of Gold 2010 [Cov+CD][Bubanee]/06. Touchin On My - 30H!3.mp3"


我只是使用一个简单的


srcName := "Music/3OH!3 - Streets Of Gold 2010 [Cov+CD][Bubanee]/06. Touchin On My - 30H!3.mp3"

src, err := os.Open(srcName)

if err != nil {

    fmt.Println(err)

    return

}

顺便说一句,该文件确实存在,只是不能遵循路径名。bash 可以遵循的路径是Music/3OH\!3\ -\ Streets\ Of\ Gold\ \[Cov+CD\]\[Bubanee\]/12.\ Strrets\ Of\ Gold\ -\ 30H\!3.mp3显示所需的所有转义。


江户川乱折腾
浏览 310回答 1
1回答

呼啦一阵风

我尝试在我的机器(Mac OS 10.8.3)上创建相同的目录结构,并且使用您的代码打开文件没有问题。这意味着路径在打开时已正确转义。确保你从Music/文件夹正上方的位置运行你的 go 程序,或者只使用srcName.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go