2014-01-23 106 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