2008-11-11 40 views
41

Trong Python, làm cách nào để chuyển sang tệp trong Windows Explorer? Tôi đã tìm thấy giải pháp để nhảy tới thư mục:Mở trình khám phá trên tệp

import subprocess 
subprocess.Popen('explorer "C:\path\of\folder"') 

nhưng tôi không có giải pháp cho tệp.

Trả lời

46

Từ Explorer.exe Command-Line Options for Windows XP

import subprocess 
subprocess.Popen(r'explorer /select,"C:\path\of\folder\file"') 
+0

Cảm ơn !! Được hack bộ não của tôi trên này .. – adams

+0

Tôi biết rằng đây là một bài đăng siêu cũ nhưng nó có giá trị một shot. Tôi có một mô-đun kết nối một thư viện tài liệu sharepoint với một cửa sổ Windows Explorer để một bản sao quá khứ cục bộ sẽ tải lên thư viện tài liệu bổ trợ. Điều này đôi khi cần phải được làm mới và tôi đang sử dụng selen để kết nối lại nhưng bây giờ tôi đã có một cửa sổ Windows Explorer đang mở. Tôi không biết cách đóng cửa sổ đó để GUI ứng dụng trở thành tiêu điểm cho người dùng cuối lần nữa. Bất kỳ ý tưởng làm thế nào để chọn cửa sổ đó và đóng nó? – Benjooster

+0

haha, tôi đã đọc dấu phẩy như một trình bổ sung chuỗi, tôi giống như WTF đang diễn ra. Đó là một phần của chuỗi. – shawn

5

Đối với một số lý do, trên cửa sổ 7 nó luôn luôn mở ra cho người sử dụng đường dẫn, đối với tôi sau đây làm việc ra:

import subprocess 
subprocess.call("explorer C:\\temp\\yourpath", shell=True) 
+0

'subprocess.Popen (r'explorer/select," C: \ path \ của \ folder \ file "')' hoạt động, nhưng làm thế nào để có được cửa sổ này trên đầu trang của các cửa sổ khác, nếu người dùng đi đến một số cửa sổ khác sau khi đã thực hiện tuyên bố này ở đâu đó trong chương trình của mình? – Nancy

+0

Điều này sẽ tự động bật ở phía trước – user1767754

0

Một đẹp hơn, giải pháp hệ điều hành an toàn và chéo là os.startfile() .

Khi được cấp một thư mục thay vì tệp, tệp sẽ mở Explorer hoặc bất kỳ trình khám phá tệp nào trên bất kỳ hệ thống nào của bạn. Hãy chú ý rằng tôi không hoàn toàn trả lời câu hỏi vì nó không chọn tệp, nhưng việc sử dụng subprocess luôn là một ý tưởng tồi và giải pháp này có thể giúp người khác.

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