2013-10-11 22 views
6

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.

+0

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

Trả lời

3

Biểu tượng \ đếm như một nhân vật chạy thoát trong python, sử dụng r để biến mà off:

pathToFile = r"R:\T2 Output\12345--01--Some File 1--ABCD.mp4" 
+0

Điều đó đã giúp! Bây giờ nó nói" ffprobe.exe không được nhận dạng như một lệnh nội bộ hoặc bên ngoài, chương trình có thể hoạt động hoặc tệp hàng loạt. " Tôi đã đặt ffprobe: trong cùng một thư mục, đặt đường dẫn đầy đủ (với một r ở phía trước) để ffprobe: (ví dụ: C: \ somefolder \ ffprobe), đặt một đường dẫn tương đối ở phía trước của tên ". \ ffprobe.exe", đặt một bản sao của ffprobe.exe trong C: \ Windows \ System32, và chắc chắn rằng thư mục đã được trong PATH, và thêm một 'r' ở phía trước của 'ffprobe.exe' cho tốt đo. Nó vẫn không nhận ra nó. Ít nhất tôi đã chuyển sang lỗi tiếp theo. Cảm ơn đã giúp đỡ! – cyram

+0

@cyram bạn có đang gặp sự cố với khoảng trống trong tên thư mục không? –

Các vấn đề liên quan