Tôi đang cố gắng để tạo ra một kịch bản Python rằng sẽ:Sử dụng Python để thực hiện một lệnh trên tất cả các tập tin trong một thư mục
- Nhìn vào thư mục "/ input"
- Đối với mỗi video trong thư mục đó , chạy lệnh mencoder (để chuyển mã chúng thành nội dung nào đó có thể phát trên điện thoại của tôi)
- Khi bộ mã hóa đã chạy xong, hãy xóa video gốc.
Đó dường như không quá khó, nhưng tôi suck lúc trăn :)
Bất kỳ ý tưởng về những gì kịch bản nên xem xét như thế nào?
Bonus câu hỏi: Tôi có nên sử dụng
os.system
hoặc
subprocess.call
?
Subprocess.call dường như cho phép cho một kịch bản dễ đọc hơn, kể từ khi tôi có thể viết lệnh như thế này:
cmdline = [ 'mencoder', sourceVideo, '-ovc', 'bản sao ', '-oac', 'bản sao', '-ss', '00: 02: 54' , '-endpos', '00: 00: 54' , '-o', destinationVideo]
EDIT: Ok, mà làm việc:
import os, subprocess
bitrate = '100'
mencoder = 'C:\\Program Files\\_utilitaires\\MPlayer-1.0rc2\\mencoder.exe'
inputdir = 'C:\\Documents and Settings\\Administrator\\Desktop\\input'
outputdir = 'C:\\Documents and Settings\\Administrator\\Desktop\\output'
for fichier in os.listdir(inputdir):
print 'fichier :' + fichier
sourceVideo = inputdir + '\\' + fichier
destinationVideo = outputdir + '\\' + fichier[:-4] + ".mp4"
commande = [mencoder,
'-of',
'lavf',
[...]
'-mc',
'0',
sourceVideo,
'-o',
destinationVideo]
subprocess.call(commande)
os.remove(sourceVideo)
raw_input('Press Enter to exit')
Tôi đã gỡ bỏ lệnh mencoder, cho rõ ràng và vì tôi vẫn đang làm việc trên nó.
Nhờ mọi người đã nhập dữ liệu của bạn.
Grr tôi vẫn đang gặp cùng một vấn đề tôi đã có trong câu hỏi trước đây của tôi; "cửa sổ không thể tìm thấy tệp được chỉ định". Python và hoặc cửa sổ không phải là một fan hâm mộ của không gian trong tên tập tin và thư mục. :( – Manu
Bạn sẽ cần dấu ngoặc kép xung quanh đường dẫn tệp nếu có dấu cách trong đó. – tgray