PyQT | QDesktopServices.openUrl Не работает, если путь содержит пробелы
Я пытаюсь использовать QDesktopServices, чтобы система открывала указанные файлы или папки.
Приведенный ниже код идеально подходит для путей, в которых нет пробелов, но не выполняется, если не
def openFile(self):
print self.oVidPath
print "\n"
url = QUrl(self.oVidPath)
QDesktopServices.openUrl(url)
self.Dialog.close()
и вывод для путей с пробелами
/home/kerneldev/Documents/Why alcohol doesn't come with nutrition facts.mp4
gvfs-open: /home/kerneldev/Documents/Why%20alcohol%20doesn't%20come%20with%20nutrition%20facts.mp4: error opening location: Error when getting information for file '/home/kerneldev/Documents/Why%20alcohol%20doesn't%20come%20with%20nutrition%20facts.mp4': No such file or directory
Я проверил, что указанный путь существует.
Пожалуйста помоги
1 ответ
Решение
Вам нужно использовать file://
URL, в противном случае QUrl
будет трактовать путь как сетевой URL и будет кодировать его для использования в этом контексте. Так что попробуйте это вместо:
url = QUrl.fromLocalFile(self.oVidPath)