2014-01-23 145 views
2

我試圖讓一個腳本,將使用默認的Windows應用程序中播放一部電影,但是當我試圖運行此我得到的錯誤:強迫爲Unicode:需要字符串或緩衝區,函數發現如何用python打開mp4文件?

我應該如何着手有了這個?

import os 

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

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

open(filename) 
+0

[如何使用Python打開Excel文件以顯示其內容?](http://stackoverflow.com/問題/ 21191494/how-to-open-an-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的功能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