Tôi đã đoạn mã sauPython Popen Không thể Tìm File rõ
pathToFile = "R:\T2 Output\12345--01--Some File 1--ABCD.mp4"
process = subprocess.Popen(['ffprobe.exe', '-show_streams', '"'+pathToFile+'"'],
shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
tôi nhận được lỗi:
[Error 2] The system cannot find the file specified
Những gì tôi đã cố gắng:
- Thay đổi shell = Đúng như shell = False
- Kết hợp lệnh vào một chuỗi thay vì sử dụng danh sách (tôi thậm chí là pri nt nó để màn hình, và tôi có thể sao chép và dán vào một dấu nhắc lệnh nơi tập tin chạy và cung cấp cho đầu ra dự kiến (không có lỗi)
- Tôi đảm bảo rằng ffprobe.exe nằm trong PATH và có thể được thực thi từ lệnh dòng mà không chỉ định một thư mục
những điều cần chú ý:
- các tập tin nằm trên một ổ đĩa ánh xạ mạng (R)
- các tập tin có khoảng trống trong tên tập tin, đây là lý do tại sao tôi được bao quanh nó bằng dấu ngoặc kép.
Tôi chắc rằng tôi thiếu một thứ đơn giản. ai đó có thể chỉ cho tôi phương hướng đúng không? Tôi đã thực hiện khá nhiều tìm kiếm trên trang web này và những người khác và cố gắng đề xuất.
ngoài thoát backslashes trong chuỗi, bạn nên thả dấu ngoặc kép không cần thiết ' '"' 'xung quanh 'pathToFile 'và bỏ đối số không cần thiết' shell = True' trong lời gọi 'Popen'. – jfs