Ben*_*ers 12 linux python mount
我有一个用 Python 编写的备份脚本,它在将源目录复制到目标目录之前创建目标目录。我已将其配置为/external-backup用作目标位置,即我安装外部硬盘驱动器的位置。我只是在没有打开(或安装)硬盘驱动器的情况下运行脚本,发现它正常工作,尽管在内部硬盘驱动器上进行了备份,内部硬盘驱动器没有足够的空间来备份自己。
我的问题是:如何在写入卷之前检查卷是否安装在正确的位置?如果我可以检测到/external-backup它没有安装,我可以阻止写入。
额外的问题是为什么允许这样做,当操作系统知道该目录应该存在于另一个设备上时,如果我稍后安装该设备(外部硬盘驱动器),数据(在内部硬盘驱动器上)会发生什么?显然,在同一路径的不同设备上不能有两个副本!
提前致谢!
Den*_*son 25
我会看看os.path.ismount()。
对于只有内核肯定知道的事情的明确答案,请询问内核:
cat /proc/mounts
Run Code Online (Sandbox Code Playgroud)
可以使用您喜欢的任何工具读取/解析该文件,就好像它是普通文件一样。包括Python。Quick-n-dirty 示例:
#!/usr/bin/python
d = {}
for l in file('/proc/mounts'):
if l[0] == '/':
l = l.split()
d[l[0]] = l[1]
import pprint
pprint.pprint(d)
Run Code Online (Sandbox Code Playgroud)