2013-05-09 9 views
6

Czy istnieje biblioteka lub funkcja informująca o typie partycji dla określonej "ścieżki" w pythonie?Skąd wiadomo, czy "ścieżka" znajduje się na partycji FAT32?

lub w jaki sposób mogę to osiągnąć przy użyciu dowolnego innego podejścia?

z góry dzięki!

+0

możliwy duplikat [Jak znaleźć punkt montowania, na którym plik się znajduje?] (Http://stackoverflow.com/questions/4453602/how-to-find-the-mountpoint-a-file-resides-on) – hek2mgl

+2

Jest to powiązane, ale to pytanie ma dodatkowy element (znajdujący typ partycji), którego oryginalne pytanie nie zawierało. –

Odpowiedz

3

How to find the file system type in python również wydaje się istotne.

Oto co wymyśliłem:

import subprocess 
import os 

def is_filesys_fat32(path): 

    try: 
     subprocess.check_call(['df', '--type=fat32', path], stdout=os.devnull) 
    except: 
     return False 

    return True 

Zakładając używasz Linuksa (jako znacznik wspomina) i że szukasz tylko dla istnienia rodzaju, nie dostaję typ (wykorzystanie regex na subprocess.check_output() używając tego samego polecenia?).

+0

dzięki! zadziałało! –

1

Dobra, w mojej poprzedniej odpowiedzi, myślałem, że potrzebujesz okien, jednak uważam, że znalazłem sposób na Linuksa.

Spróbuj tego:

Korzystając podproces na tej komendy df -T /users/f/foo/file.txt, można uzyskać oczekiwane rezultaty.

import subprocess 
p = subprocess.Popen(["df -T %s"] % path, stdout=subprocess.PIPE) 
out, err = p.communicate() 

Przykładowe wyjście:

Filesystem Type 1K-blocks  Used Available Use% Mounted on 
/dev/sda5  ext4 472439072 146088944 302351616 33%/
Powiązane problemy