3
我一直在用這個小時刻撓我的腦袋。Python:無法正確傳遞給命令的參數
我想寫一個簡單的腳本將.AVI格式的舊視頻轉換爲.mp4與HandbrakeCLI,我無法獲得手剎註冊正確的參數,我不斷收到「缺少輸出文件名。 :/ Program Files/Handbrake/HandbrakeCLI.exe - 幫助語法。\ r \ n「錯誤。
繼承人是我迄今爲止
import glob
import os
import handbrake
hb = handbrake.HandbrakeEncode
mydir = "C:\\Path\\To\\MyVids\\"
os.chdir(mydir)
filesList = []
for files in glob.glob("*.avi"):
filesList.append(mydir + files)
print(mydir + files)
#this prints the correctly assembled path and file as expected
for files in filesList:
print("Encoding file: " + files)
hb(files)
,心跳的功能是:
def HandbrakeEncode(filepath):
import subprocess
import os
from subprocess import Popen, PIPE
outputPath, fileExtension = os.path.splitext(filepath)
outputPath += ".mp4"
args = '-i ' + filepath + ' -o '+ outputPath
cmd = ['C:\\Program Files\\Handbrake\\HandbrakeCLI.exe', args]
p = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
stdout, stderr = p.communicate()
print(stdout)
感謝您可以提供任何幫助......
你先生,是一個天才。謝謝!! – hammus