2014-01-23 3 views
2

Я пытался создать сценарий, который будет воспроизводить фильм, используя приложение Windows по умолчанию, но когда я пытаюсь запустить его, я получаю ошибку: принуждение к Unicode: нужна строка или буфер, функция найденаКак открыть файл mp4 с помощью python?

Как я могу продолжить с этим?

import os 

print 'Push "enter" to play movie' 
raw_input() 

def filename(): 
    filename = movie.mp4 
    os.system("start " + filename) 

open(filename) 
+0

возможно дубликат [Как открыть файл Excel с Python, чтобы отобразить его содержимое] (http://stackoverflow.com/ Вопросы/21191494/how-to-open-a-excel-file-with-python-to-display-its-content) – wnnmaw

+0

Итак, я не знаю о Windows, но если у вас есть Linux или виртуальная машина, вы можете использовать ffmpeg, http://www.catswhocode.com/blog/19-ffmpeg-commands-for-all-needs. – cjohnson318

ответ

2

Проблема у Вас есть то, что вы, вероятно, есть переменная с именем movie, и когда вы делаете filename = movie.mp4 это настройка назначая функцию, movie «s mp4 переменной filename. В любом случае, я не думаю, что есть основания для этого.

def play_movie(path): 
    from os import startfile 
    startfile(path) 

Это буквально все, что вам нужно для вашей функции «Играть». Если бы я тебя, я бы обернуть его в классе, что-то вроде:

class Video(object): 
    def __init__(self,path): 
     self.path = path 

    def play(self): 
     from os import startfile 
     startfile(self.path) 

class Movie_MP4(Video): 
    type = "MP4" 

movie = Movie_MP4(r"C:\My Documents\My Videos\Heres_a_file.mp4") 
if raw_input("Press enter to play, anything else to exit") == '': 
    movie.play() 
+0

Это потрясающе. – Slumpe

+0

Как определить, когда видео закончилось? – shamila

Смежные вопросы