Сервер Python не может получить доступ к файлу, если в пути есть пустое место - PullRequest
0 голосов
/ 22 мая 2018

У меня есть сервер, который транслирует 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 голосов
/ 22 мая 2018

Просто разобрался.Все, что мне нужно было сделать, это request.path = request.path.replace('%20', ' ')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...