Я пишу скрипт на языке Python flac2m4a , который вызывает ffmpeg для преобразования файла .flac в файл .m4a.основная программа выглядит следующим образом:
cmd = "ffmpeg -i %s -acodec alac %s.m4a" % (sys.argv[1], sys.argv[1][:-5])
os.system(cmd)
Я могу использовать программу так:
./flac2m4a path_to_the_song.flac
Но когда я запускаю ее для некоторых песен со специальными символами в названии:
./flac4m4a.py Justin\ Bieber\ -\ Never\ Say\ Never\ -\ The\ Remixes/01\ -\ Never\ Say\ Never\ \(feat.\ Jaden\ Smith\).flac
в linux, когда я нажимаю tab для автозаполнения, специальные символы будут экранированы с помощью \
, но когда я прочту его из sys.argv[1]
, они будут преобразованы в обычную строку Python:
Justin Bieber - Never Say Never - The Remixes/01 - Never Say Never (feat. Jaden Smith).flac
Так что я просто хочу знать, как читать argv[1]
точно так же, как то, что пользовательский ввод (с этими \
)