2013-01-15 1 views
0

dd을 사용하여 USB 플래시 드라이브에 OS 이미지를 쓰는 프로그램 인 Python을 쓰고 있습니다. 드라이브 /dev/sda/dev/sdb은 내 경우에 쓰기를 원하는 플래시 드라이브 인 sdb으로 마운트됩니다.파이썬에서 디스크를 선택 하시겠습니까?

그러나 다른 사람의 시스템에서 쓰기를 원하는 드라이브는 /dev/sdc 일 수 있습니다. 사용자가 쓸 드라이브를 선택하게하려면 어떻게해야합니까? 사용자에게 친숙 함을주기 위해 디스크 레이블로 선택하도록하는 것이 바람직합니다.

EDIT : USB 플래시 드라이브/dev/sdb와/dev/sdc가 삽입되었습니다. 기본적으로 사용자에게 알려 드리고 싶습니다. "어떤 플래시 드라이브를 sdb 또는 sdc에 쓰고 싶습니까?"그런 다음 사용자가 선택한 디스크에 기록하십시오. 지금까지 나는 이것을 할 수있는 방법을 찾지 못했습니다.

+2

제발, 이미 가지고있는 것을 보여주는 스 니펫을 추가하십시오. – Rubens

+2

@Rubens 이러한 편집 중 일부가 실제로 필요 했습니까? 파이썬, OS 이미지 및 USB 플래시 드라이브 주변에 코드 태그 삽입? –

+0

그것들은 내가 편집 한 유일한 것들이 아니었지만, 그 하이라이트들을 더 편하게 추가 할 수 있다는 것을 알았지 만 ... – Rubens

답변

0

프로그램이 * nix 특정 경우, 최선의 방법은 mount 명령의 출력을 구문 분석하는 것 같아요.

마운트 지점, 사용자 이름 및 FS 이름을 제공합니다. 그 중 당신은 마운트 된 점이나 현재 사용자가 쓸 수있는 점을 필터링 할 수 있습니다. 그 점에 올바른 FS가있을 수 있습니다 (아마도 vfat?).

1

여기서 원하는 것은 정확히 psutil입니다.

https://github.com/giampaolo/psutil

>>> psutil.disk_partitions() 
[partition(device='/dev/sda1', mountpoint='/', fstype='ext4'), 
partition(device='/dev/sdb5', mountpoint='/media/Storage', fstype='ext4')] 

이 당신에게 마운트 된 모든 디스크에 대한 정보를 제공합니다. 무엇보다도 크로스 플랫폼입니다.

관련 문제