如何在 go 中移动文件

108 天前
 qW7bo2FbzbC0
import (
"os"
)

func main(){
 err := os.Rename("/home/go/v2ex/user.conf", "/home/go/v2ex/bak/userX.20240731")
 fmt.Println(err)
}

问题

406 次点击
所在节点    程序员
6 条回复
qW7bo2FbzbC0
107 天前
jifengg
107 天前
据我使用这么多语言的经验,没有哪个语言会提供“把一个文件移动到一个目录”里的 api ,都是“文件到文件”。
mv 他是一个“程序”,为了使用方便他会自己判断。
qW7bo2FbzbC0
107 天前
jifengg
107 天前
@qW7bo2FbzbC0 楼主,你列的这三个链接,都佐证了我的观点。
1 : python3 基础 api 是没有的,这个 shutil 库自己封装的。
2 、3 : 都不支持 “把一个文件移动到一个目录”
qW7bo2FbzbC0
107 天前
@jifengg 2,3 的确不支持。
jifengg
107 天前
其实不管方法名叫啥,你想,当你在代码里写下:
move("/home/go/v2ex/user.conf", "/home/go/v2ex/bak/userX.20240731")

执行完了之后,你“不知道”你的 user.conf 最后是存储为 "/home/go/v2ex/bak/userX.20240731" 还是 "/home/go/v2ex/bak/userX.20240731/user.conf",你能接受吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1061559

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX