Красивое и короткое однострочное письмо Python может быть создано на основе ответа Жиля :
$ python -c 'import os,sys;print(os.path.ismount(sys.argv[1]))' /mnt/HDD
True
$ python -c 'import os,sys;print(os.path.ismount(sys.argv[1]))' /etc
False
Я сделал собственную реализацию команды mountpoint
в Python, которая анализирует ] / proc / self / mounts
файл. Вроде того же поведения, что и mount
в ответе Стефана, за исключением того, что команда анализирует / proc / self / mountinfo
. Использование очень простое: is_mountpoint.py / path / to / dir
.
#!/usr/bin/env python3
from os import path
import sys
def main():
if not sys.argv[1]:
print('Missing a path')
sys.exit(1)
full_path = path.realpath(sys.argv[1])
with open('/proc/self/mounts') as mounts:
print
for line in mounts:
if full_path in line:
print(full_path,' is mountpoint')
sys.exit(0)
print(full_path,' is not a mountpoint')
sys.exit(1)
if __name__ == '__main__':
main()
Тестовый запуск:
$ python3 ./is_mountpoint.py /mnt/HDD
/mnt/HDD is mountpoint
$ lsblk | grep HDD
└─sdb6 8:22 0 405.3G 0 part /mnt/HDD
$ python3 ./is_mountpoint.py $HOME
/home/xieerqi is not a mountpoint