如果路径中有空格,Python服务器无法访问文件

时间:2018-05-22 19:00:27

标签: python-2.7

我有一个流式播放mp3文件的服务器。它工作正常,但是,如果文件在路径名中有任何空格,则表示"找不到文件"。

我尝试过输入%20而不是空格但没有成功(实际上,它会自动执行,当它打印request.path时,所有空格都会在控制台上转换为%20)

我正在使用Twisted Matrix库。这是我使用的代码:

class playMP3(Resource):
    isLeaf = True
    def render_GET(self, request):
        this=urlparse.urlparse(request.path)#scheme,netloc,path,query
        root,ext=os.path.splitext(this.path)
        filename=os.path.basename(request.path)
        fileFolder=request.path.replace(filename,"")
        self.serverRoot=os.getcwd()
        print (request.path)
        if ext==".mp3":
            thisFile=File(self.serverRoot+request.path)
            return File.render_GET(thisFile,request)

resource = playMP3()
factory = Site(resource)
reactor.listenTCP(8880, factory)
reactor.run()

1 个答案:

答案 0 :(得分:0)

刚想通了。我所要做的就是request.path = request.path.replace('%20', ' ')