2010-07-07 3 views
7

Можно ли открыть mp3-файл в python (возможно, используя POPEN), и я не хочу запускать его в программе, я имею в виду как отдельное окно в медиаплеере или что-то еще, чтобы открыть его это когда я вызываю функцию, и если да, то как. большое спасибо.Может ли python открыть mp3-файл

+0

связаны: [? Есть платформа независимый эквивалент os.startfile()] (http://stackoverflow.com/q/17317219/4279) – jfs

ответ

11

Открытие файла с соответствующим приложением (для Windows только):

import os 
os.startfile('my_mp3.mp3') 

ссылка на документацию can be found here.

+0

Круто. Не знал об этом. –

+0

он высказал ошибку: Traceback (последний последний звонок): Файл «C: \ Users \ matt \ Desktop \ 1.py», строка 3, в os.startfile ('C: \ Users \ matt \ Desktop \ test.mp3 ') WindowsError: [Ошибка 2] Система не может найти указанный файл:' C: \\ Users \\ matt \\ Desktop \ test.mp3 ' – DonJuma

+0

вот сценарий import os os.startfile ('C: \ Users \ matt \ Desktop \ test.mp3') – DonJuma

1

Вы также можете использовать subprocess. Затем вам нужно будет указать путь к исполняемому файлу, который вы хотите запустить, что может оказаться нецелесообразным, если вы хотите, чтобы это работало на чужом компьютере, но, как правило, довольно мощный метод.

Использование:

import subprocess 
PLAYERPATH = "C:/Program Files (x86)/VideoLAN/VLC/vlc.exe" 
subprocess.call([PLAYERPATH, FILEPATH]) 
+0

Это относится только к Windows; на системах POSIX (Linux и т. д.) 'subprocess' почитает' $ PATH' еще. –

0

Этот сценарий будет выбрать случайную песню в текущем каталоге. И пропустит любой файл, который не является файлом .mp3. Вы можете добавить дополнительные расширения в список, который нужно открыть, например: ext3 = ['. Mp3', '.mp4'] и так далее.

import random,os,sys 

folder=os.listdir(os.getcwd()) 
file=random.choice(folder) 
ext3=['.mp3'] 
print('First random pick: '+file) 

while file[-4:] not in ext3 : 
    print('Not an MP3 file : '+file) 
    file=random.choice(folder) 
else: 
    os.startfile(file) 
    print('Song name: '+file) 

sys.exit() 

##os.startfile(random.choice(folder)) 
+0

работает как прелесть после нескольких трюков:) – Mrk

1

Если у вас есть vlc, уже установленный в вашей системе, вы можете использовать команду cvlc.

import os 
os.system('cvlc path/to/foo.mp3') 

Это будет работать. Надеюсь, поможет.

1
import mp3play,time 
data= r'pathname' 
clip = mp3play.load(data) 
clip.play() 
time.sleep(20) 
clip.stop() 
1
# Just listen to all the mp3 files in order 
import os 
folder=os.listdir(os.getcwd()) 
for files in folder: 
    if files.endswith(".mp3"): 
     os.startfile(files) 
Смежные вопросы