有没有办法检查光驱是否有带 python 的 CD

is there a way to check if the cd drive has a CD with python

我正在尝试制作一个程序来检查何时插入具有特定名称的 CD "PlayMe",然后让该程序播放其中的一首曲目。电脑是树莓派4raspbian.

我试过只在文件树出现时扫描,它工作了一次,但是当光盘被物理移除时它仍然有 tree.I 我也试过使用 pygame 的 cdrom 方法到 get_emptyget_name。我不知道有更好的方法来做到这一点。

import pygame

pygame.init()

print(pygame.cdrom.get_count())

pygame.cdrom.get_empty(0)

当它得到 运行 时,我从 cdrom.get_count 得到的输出为 1 但 get empty 给出:

"AttributeError: module 'pygame.cdrom' has no attribute 'get_empty'"

我没有办法测试这个,因为我的电脑没有光驱,但是这样的东西怎么样?这个想法是你不仅要创建一个 pygame CD 对象,还要在它可用之前调用 pygame-specific init 函数 per the documentation.

import pygame

pygame.init()#should also automatically initialize the pygame cdrom module
num_drives = pygame.cdrom.get_count()
if num_drives == 0:
    raise ValueError("Computer does not have a CD-drive")
drive = pygame.cdrom.CD(0)#first drive, probably default?
drive.init()
if not drive.get_empty():
    print("A CD is in this drive")
else:
    print("No CD is in this drive")
drive.quit()