2016-08-24 12 views
1

Pythonの方法があり、ディレクトリがマウントポイントかどうかを確認するためのシェルコマンド(サブプロセスモジュールを使用しない)がありますか?ディレクトリがpythonのマウントポイントであることを確認する2.7

は、今まで私が使用します。

import os 
import subprocess 

def is_mount_point(dir_path): 
    try: 
     check_output([ 
      'mountpoint', 
      path.realpath(dir_name) 
     ]) 
     return True 
    except CalledProcessError: 
     return False 

答えて

5

os.path.ismount(path)あります。

パス名パスがマウントポイントの場合はTrueを返します。異なるファイルシステムがマウントされているファイル システム内のポイント。 は、パスの親、path/..が パスと異なるデバイスにあるかどうか、またはパス/ ..とパスが同じ デバイス上の同じi-nodeを指しているかどうかをチェックします。すべてのUnixとPOSIXの の亜種について。

import os 
os.path.ismount(dir_name) # returns boolean 

(あなたがPOSIXシステムにしている場合)またimplementationを参照することができます。他のプラットフォームの場合はmacpath.pyまたはntpath.pyを確認してください。

+1

また、[psutil](https://pythonhosted.org/psutil/)ライブラリを使用して、すべてのマウントポイントを取得できることを追加します: 'mount_points = {el.mountpoint:el for psutil追加の情報と自動クロスプラットフォームのものが必要な場合は、.disk_partitions(all = True)} 'をチェックします。それを' mount_points'のパスとしてチェックするか 'mount_points [path]'として使用して追加情報を得ることができます。指定タプルとして... –

関連する問題