Python中判断挂载的共享路径是否存在

在Windows上通过net use,在linux通过mount可以把网络共享路径挂载到本地的一个盘符或一个目录,在Windows上可以直接判断路径是否存在,而在Linux挂载点总是存在的,即使挂载失败也存在一个空的文件夹,所以不能用路径是否存在来判断,可以在df命令中找挂载点。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import os
import platform
import traceback


def exec(cmd:str):
pip = os.popen(cmd)
r = pip.buffer.read()
try:
return r.decode(encoding='utf8')
except Exception as e:
try:
return r.decode(encoding='gb2312')
except Exception as e:
return r
return r


def is_mounted(path):
if platform.system() == 'Windows':
return os.path.exists(path)
else:
return int(exec(f"df -h|grep {path}|wc -l")) > 0