为了账号安全,请及时绑定邮箱和手机立即绑定

如何检查2个目录是否在同一分区上?

如何检查2个目录是否在同一分区上?

Go
慕侠2389804 2022-08-01 18:53:46
此代码显示了一种检查两个目录是否在 linux 中使用 python3 的同一分区上的方法。有人知道如何在Go中做同样的事情吗?import statimport osdef same_partition(dir1: str, dir2: str) -> bool:    stat1 = os.statvfs(dir1)    stat2 = os.statvfs(dir2)    return stat1[stat.ST_DEV] == stat2[stat.ST_DEV]
查看完整描述

1 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

操作系统。Stat() 返回 os。FileInfo结构,并提供直通到底层数据源 - 在UNIX系统上(因此代码显然不能移植到例如Windows),它是具有设备编号信息的系统调用的结果。设备编号可以从系统调用字段获取。Stat_t结构。以下是如何从中获取设备编号的快速示例:Sys()statDevFileInfo

// NOTE This is PoC for SO purposes so do error handling, etc.

stat1, _ := os.Stat("/drive1/a.txt")

stat2, _ := os.Stat("/drive2/b.txt")

    

// returns *syscall.Stat_t

fmt.Println(reflect.TypeOf(statA.Sys()))


fmt.Println(stat1.Sys().(*syscall.Stat_t).Dev)

fmt.Println(stat2.Sys().(*syscall.Stat_t).Dev)


查看完整回答
反对 回复 2022-08-01
  • 1 回答
  • 0 关注
  • 118 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信