如何用python打开一个mp4文件?

Slu*_*mpe 6 python

我试图制作一个使用默认 Windows 应用程序播放电影的脚本,但是当我尝试运行它时出现错误:强制转换为 Unicode:需要字符串或缓冲区,找到函数

我应该如何处理这个问题?

import os

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

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

open(filename)
Run Code Online (Sandbox Code Playgroud)

Ada*_*ith 7

您遇到的问题是您可能有一个名为 的变量movie,当您这样做时,filename = movie.mp4它会设置将movie的函数分配给mp4变量filename。无论如何,我认为没有理由这样做。

def play_movie(path):
    from os import startfile
    startfile(path)
Run Code Online (Sandbox Code Playgroud)

这就是“播放”功能所需的全部内容。如果我是你,我会将它包装在一个类中,例如:

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()
Run Code Online (Sandbox Code Playgroud)

  • @user2993886 确实如此!`os.startfile` 在非 Windows 操作系统上不可用(根据[文档](https://docs.python.org/3/library/os.html#os.startfile)) (2认同)