Seite 1 von 1

CD-Rom Laufwerk schließen???

Verfasst: Samstag 10. Dezember 2005, 16:16
von freeze
Hallo,
ich bin neu in Python. Ich versuche zurzeit ein Skript zu schreiben, dass das CD-Rom Laufwerk schließt und wieder öffnet. Ich will damit ein paar Familienmitglieder veräppeln.:twisted:

Bis jetzt hab ich herausgefunden das man mit dem Befehl

Code: Alles auswählen

os.system("eject")
das Laufwerk öffnen kann. Aber mit welchen Befehl kann man es wieder schließen? Achja, bevor ich es vergess ich benutze Linux (oder ist es egal welches Betriebssystem ich benutze :?: ).

Verfasst: Samstag 10. Dezember 2005, 16:49
von jens
Bei PyGame gibt es ein CD-ROM Modul, welches glaub ich Platformübergreifend ist. Ich weiß nicht ob es das kann was du willst...

Verfasst: Samstag 10. Dezember 2005, 17:35
von freeze
Ja ich habe eben bei der Seite nachgesehen. Leider habe ich nichts gefunden. :cry:
Es gab nur CD.eject() funktion die habe ich ja aber schon mit dem anderen Befehl.

Re: CD-Rom Laufwerk schließen???

Verfasst: Samstag 10. Dezember 2005, 17:44
von Joghurt
freeze hat geschrieben:das man mit dem Befehl

Code: Alles auswählen

os.system("eject")
das Laufwerk öffnen kann. Aber mit welchen Befehl kann man es wieder schließen?
man eject hat geschrieben:OPTIONS
-t With this option the drive is given a CD-ROM tray close command. Not all devices support this command.

-T With this option the drive is given a CD-ROM tray close command if it's opened, and a CD-ROM tray eject command if it's closed. Not all devices support this command, because it uses the above CD-ROM tray close command.

Verfasst: Samstag 10. Dezember 2005, 22:32
von freeze
Danke es klappt!!!! :)

Verfasst: Dienstag 10. März 2009, 08:47
von unix
Bei mir funktioniert die eject-Methode leider nicht:
'eject' is not recognized as an internal or external command,
operable program or batch file.
Gibt es mittlerweile eine andere Möglichkeit wie man ein Laufwerk öffnen/ schließen kann, vorzugsweise ohne Verwendung von pygame (Zielsystem ist Windows)?

Verfasst: Dienstag 10. März 2009, 11:57
von Leonidas
Du musst das Programm eject installieren; unter Debian ist es im Paket eject. Unter Windows ist mir keine so simple Möglichkeit bekannt, da müsste man wohl via ctypes auf die Win32 API zugreifen oder eventuell schauen ob pywin32 das unterstützt.

Verfasst: Dienstag 10. März 2009, 12:32
von unix
Ah, habe nicht gleich bemerkt, dass es für Linux war.

Habe nun ein C++ Programm geschrieben, welches ich mit Python ansteuer und entsprechend verwende, Danke.