Я пытаюсь преобразовать файл с .m4a
в .mp3
с помощью ffmpeg
, и мне нужно получить доступ к папке с музыкой.Как избежать пробела в имени пути с помощью подпроцесса?
Имя путь этой папки: C:\\Users\A B\Desktop\Music
Я не могу получить доступ к нему с subprocess.call()
, потому что только C:\\Users\A
получает признание. Пробел не обрабатывается.
Вот мой питон скрипт:
import constants
import os
import subprocess
path = 'C:\\Users\A B\Desktop\Music'
def main():
files = sorted(os.listdir(path), key=lambda x: os.path.getctime(os.path.join(path, x)))
if "Thumbs.db" in files: files.remove("Thumbs.db")
for f in files:
if f.lower()[-3:] == "m4a":
process(f)
def process(f):
inFile = f
outFile = f[:-3] + "mp3"
subprocess.call('ffmpeg -i {} {} {}'.format('C:\\Users\A B\Desktop\Music', inFile, outFile))
main()
Когда я запускаю его я получаю сообщение об ошибке, которое утверждает:
C: \ Users \ A: Нет такого файла или каталога
Интересно, знает ли кто-нибудь, как указать полное имя пути (C:\Users\A B\Desktop\Music
) в subprocess.call()
?
Вы знаете, почему я получил C: \ Пользователи \ AB \ Desktop \ Music: запрещено разрешение? – akasimov
aaah это еще одна история: в окнах вы не можете посетить другой профиль пользователя, если вы не администратор (открытие повышенной оболочки будет способом, если у вас есть эти привилегии) –
Странно, я администратор нет другого профиля пользователя – akasimov