通过终端运行时,Python脚本无法正常运行,但在Jupyter和Visual Studio中可以正常运行

时间:2018-10-21 13:59:29

标签: python bash macos ffmpeg

我有一个脚本,可以从文件夹中的所有视频文件中提取音频。

包含视频的文件夹位于:/ Users / MyName / Downloads / Video_Audio_files

当我尝试通过终端运行它并提示输入文件夹路径folder = input("Path to folder:")时,我将其拖放到此处(这是我获得上述路径的方式),但脚本似乎没有正常工作(卡在7中的0,没有输出文件)。

当我在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 :(得分:0)

按照修改中所述找到问题后,我实施了以下操作以消除多余的空间:

folder = (input("Path to folder:")[:-1])