Скрипт Python не работает должным образом при запуске через терминал, но отлично работает в Jupyter и Visual Studio - PullRequest
0 голосов
/ 21 октября 2018

У меня есть скрипт для извлечения аудио из всех видеофайлов в папке.

Папка с видео находится по адресу: / Users / MyName / Downloads / Video_Audio_files

Когда я пытаюсьчтобы запустить его через терминал, и у меня запрашивают путь к папке folder = input("Path to folder:"), я перетаскиваю его туда (как я и получил вышеупомянутый путь), но сценарий, похоже, не работает (застрял на 0 изиз 7 и нет выходных файлов).

Когда при вводе запроса в Jupyter Notebook или Visual Studio он вводит точно такой же путь, он отлично работает!

Редактировать: Мне кажется, я обнаружил проблему, когда перетаскивал папку,имеется дополнительный пробел («Загрузки / папка» вместо «Загрузки / папка»).

pbar = ProgressBar()
files = []
extensions = []
folder = input("Path to folder:")
#folder = 'Video_Audio_files'
pathlist = Path(folder).glob('**/*.mp4')
for path in pathlist:
    path_in_str = str(path)
    name = path_in_str.split("/")[1]
    files.append(path_in_str.split(".")[0])
    extensions.append(path_in_str.split(".")[1])

os.system('cd ' + folder)

for i in pbar(range(len(files))):
    video_format = extensions[i]
    video_name = files[i]
    output_format = 'flac'
    output_name = video_name + '_audio'

    bashCommand = 'ffmpeg -i ' + video_name + '.'   + video_format + ' -f ' + output_format + ' -ab 192000 -vn ' + output_name + '.' + output_format
#should be of this format: bashCommand = 'ffmpeg -i Video.mp4 -f flac -ab 192000 -vn ExtractedAudio.flac'

    os.system(bashCommand)

1 Ответ

0 голосов
/ 21 октября 2018

После обнаружения проблемы, как описано в редактировании, я просто реализовал следующее, чтобы избавиться от лишнего пространства:

folder = (input("Path to folder:")[:-1])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...