Hey,

Just a simple question really, i was looking through the documentation for python and i couldn't find anything that did basic cd drive things, like ejecting it and stuff. The one module i did find 'cd' was only compatible on IRIX systems.

After failing miserably on google i was just wondering if anyone happened to know of a command or module that opens the cd drive, and reads from it, seems simple but meh..

I'm hoping theres something built in that does it.

Thanks,
a1eio

Recommended Answers

All 8 Replies

You could use os.popen if you are on unix like operating systems to run shell commands like nautilus-cd-burner or anything you like.

yea, i forgot to mention, i'm trying to do this on a windows machine.

the os.popen idea did occur to me, but then i got stuck again.. :p i don't know the dos command for opening the cd drive.

thanks
a1eio

yea, i forgot to mention, i'm trying to do this on a windows machine.

the os.popen idea did occur to me, but then i got stuck again.. :p i don't know the dos command for opening the cd drive.

thanks
a1eio

if you have pygame, you can use its inbuilt cdrom commands

import pygame.cdrom as cdrom
cdrom.init()
cd = cdrom.CD(0) # 0 = first cdrom device
cd.init()
cd.eject()
cd.quit()
cdrom.quit()

or here's something i found GNU CD Input and Control Library . you can try it out.

Is there any way (non platform-depended) to close the tray using python 3.

I couldn't find any function in the api of pygame.cdrom module. The best result so far is for Windows.

http://code.activestate.com/recipes/180919/

on windows use os.system("YOUR EJECT COMMAND HERE")

Here is one that works on Windows machines with Python3 ...

# open and close the CD tray door (Windows OS)
# tested with Python 3.1

import ctypes
import time

# open the CD tray door
ctypes.windll.winmm.mciSendStringW("set cdaudio door open",
    None, 0, None)

# wait 3.5 seconds
time.sleep(3.5)

# close the CD tray (manual closing only with some notebooks)
ctypes.windll.winmm.mciSendStringW("set cdaudio door closed",
    None, 0, None)

Thanks

how can i get status of cd/DVD drive get size of cd, get type(CD/DCD) and know if it blank or..?

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.