我试图制作一个使用默认 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)
您遇到的问题是您可能有一个名为 的变量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)