Czy istnieje sposób na uzyskanie listy podłączonych urządzeń magazynujących, takich jak aparaty fotograficzne, karty SD i zewnętrzne dyski twarde, w języku Python?Python: OS Niezależna lista dostępnych urządzeń magazynujących
Odpowiedz
Następujące elementy powinny działać w systemach Linux i Windows. Spowoduje to wyświetlenie WSZYSTKICH napędów, nie tylko zewnętrznych!
import subprocess
import sys
#on windows
#Get the fixed drives
#wmic logicaldisk get name,description
if 'win' in sys.platform:
drivelist = subprocess.Popen('wmic logicaldisk get name,description', shell=True, stdout=subprocess.PIPE)
drivelisto, err = drivelist.communicate()
driveLines = drivelisto.split('\n')
elif 'linux' in sys.platform:
listdrives=subprocess.Popen('mount', shell=True, stdout=subprocess.PIPE)
listdrivesout, err=listdrives.communicate()
for idx,drive in enumerate(filter(None,listdrivesout)):
listdrivesout[idx]=drive.split()[2]
# guess how it should be on mac os, similar to linux , the mount command should
# work, but I can't verify it...
elif 'macosx' ...
do the rest....
Powyższa metoda dla Linuksa jest bardzo surowe, a powróci dyski jak sys
i procfs
itp, jeśli chcesz coś bardziej dopracowany, spojrzeć na odpytywanie z python-dbus
.
Prawdopodobnie, jeśli dodasz krok, który wykryje, które punkty montowania są własnością bieżącego użytkownika (prawdopodobnie zalogowanego użytkownika pulpitu), lista będzie bardzo blisko listy "urządzeń zewnętrznych". Powinieneś być w stanie odłączyć najpierw to, co chcesz odłączyć. – 9000
tutaj [przykład jak korzystać z Udisks przez dbus] (http://stackoverflow.com/a/5081937/4279). Właściwość [DeviceIsRemovable] (http://hal.freedesktop.org/docs/udisks/Device.html#Device:DeviceIsRemovable) może być bliska. – jfs
Możesz po prostu czytać/proc/mounts na Linuksie, nie ma potrzeby odradzania się. – LtWorf
- 1. Lista dostępnych urządzeń bluetooth z informacjami programowo
- 2. Lista dostępnych czcionek w PHP
- 3. iOS 7 - brak dostępnych urządzeń ios
- 4. Gdzie powinna znajdować się niezależna biblioteka python?
- 5. adb lista urządzeń pusty - Snow Leopard
- 6. Python: pełna lista modułów
- 7. Niezależna ścieżka dystrybucji libpython
- 8. Lista wszystkich dostępnych działań w google home
- 9. Lista dostępnych wyjściowych docelowych audio AVAudioSession
- 10. MongoDB lista dostępnych baz danych w java
- 11. Lista dostępnych generatorów w aplikacji szyny
- 12. Android: lista wyszukiwania urządzeń podłączonych do sieci
- 13. Lista urządzeń zarejestrowanych na platformie Azure
- 14. Pełna lista wszystkich urządzeń z Androidem
- 15. Surowy dostęp do urządzeń HID w systemie OS X
- 16. Czy platforma WCF jest niezależna?
- 17. Apple LLVM 4.2, lista dostępnych __attribute __ (()) dla Objective-C
- 18. Gdzie jest lista dostępnych zamiarów w systemie Android?
- 19. Brak dostępnych archetypów. Lista archetyp odświeży kiedy indeksy zakończeniu aktualizacji
- 20. Python lista obrót
- 21. Python lista odejmowanie
- 22. Python sprawność lista krojenie
- 23. Counter lista python 2.7
- 24. lista unicode Python dołączyć
- 25. Python: lista wykresów krotek
- 26. Lista wszystkich uruchomionych procesów w Contiki OS
- 27. Skąd mogę wiedzieć urządzeń zarejestrowanych w My GCM Application Cloud (Lista urządzeń)
- 28. Lista urządzeń w sieci lokalnej za pomocą polecenia ping
- 29. Lista podłączonych urządzeń do lokalnej sieci Wi-Fi
- 30. Lista wszystkich urządzeń, partycji i woluminów w Powershell
Jak zdefiniować "urządzenie magazynujące"? Jak "połączony"? –
@ Tichodroma Lista urządzeń zewnętrznych wyświetlanych w przeglądarce Mac Finder, Eksploratorze Windows lub przeglądarce plików Ubuntu. –
zdefiniuj "zewnętrzny" – njzk2