gpt4 book ai didi

python - 如何在python中获取挂载的设备名称

转载 作者:行者123 更新时间:2023-12-01 08:52:22 26 4
gpt4 key购买 nike

在我的 Mac 上,我已将 SMB 共享映射为卷。我想在我的 python 代码中获取该卷的真实路径。

➜  MYVOLUME pwd
/Volumes/MYVOLUME
➜ MYVOLUME mount
/dev/disk1s1 on / (apfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
/dev/disk1s4 on /private/var/vm (apfs, local, noexec, journaled, noatime, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
//fistname.lastname@10.10.50.20/Projects/SomeProject on /Volumes/MYVOLUME (smbfs, nodev, nosuid, mounted by user)

我想获取 //fistname.lastname@10.10.50.20/Projects/SomeProject 部分。我尝试过使用下面的方法,但它没有让我获得我想要的实际 SMB 位置。

def find_mount_point(self,path):
path = os.path.abspath(path)
while not os.path.ismount(path):
path = os.path.dirname(path)
return path

最佳答案

您可以使用psutil图书馆

工作示例

def find_sdiskpart(path):
path = os.path.abspath(path)
while not os.path.ismount(path):
path = os.path.dirname(path)
p = [p for p in psutil.disk_partitions(all=True) if p.mountpoint == path.__str__()]
l = len(p)
if len(p) == 1:
print type(p[0])
return p[0]
raise psutil.Error

该函数将返回 <class 'psutil._common.sdiskpart'>包含挂载点和设备名称

可以这样使用

try:
p = find_sdiskpart(".")
print p.mountpoint
print p.device
except psutil.Error:
print 'strange'

关于python - 如何在python中获取挂载的设备名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53026567/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com