У меня проблемы с запуском подпроцесса в Python 3 для пользователя handbrakeCLI для извлечения видео определенной длины в новый файл.Сам код прекрасно работает, но выводит вывод на консоль.Мне не нужно видеть сотни строк кодированной информации.
Из моих ограниченных знаний этого модуля, shell = True - это опция, которая печатает на консоль.Удалите его или измените на = False, и это не удастся с помощью «[WinError2] Система не может найти указанный файл»
Это выполняется внутри программы tkinter, но не обращается к чему-либо вне себя, так что это весь код, который печатаетвывод на консоль.
filepath = askopenfilename()
filepathSplit = filepath.split("/")
location = "\\".join(filepathSplit[:-1]) + "\\"
inputFileName = os.path.splitext(filepathSplit[len(filepathSplit)-1])[0]
inputFileType = os.path.splitext(filepath)[1]
outputFile = inputFileName + " -1" + inputFileType
# print(filepath)
# print(f"Location: {location}")
# print(f"input filename: {inputFileName}")
# print(f"input filetype: {inputFileType}")
# print(f"output filename: {outputFile}")
startTime = 0
endTime = 2
subprocess.call(f'HandbrakeCLI.exe -i "{filepath}" -o "{location + outputFile}" --start-at duration:{startTime} --stop-at duration:{endTime}', cwd="C:\\Program Files\\HandBrake", shell=True)
print("It's finished, run the rest.")
Он отлично работает, когда его оболочка = True и печатает все на консоль, но не удается при попытке избежать загромождения консоли.Возможно ли это?