2008-09-03 12 views
7

मैं एक क्रॉस-प्लेटफॉर्म (विंडोज़/मैक/लिनक्स) पायथन एप्लिकेशन के भीतर से उचित फ़ाइल मैनेजर में एक फ़ोल्डर विंडो खोलना चाहता हूं।लिनक्स में फ़ोल्डर विंडो खोलने का मानक तरीका?

पर OSX, मैं एक खिड़की खोजक में

os.system('open "%s"' % foldername) 

साथ और पर Windows

os.startfile(foldername) 

क्या यूनिक्स के बारे में/लिनक्स के साथ खोल सकता है? क्या ऐसा करने का कोई मानक तरीका है या क्या मुझे विशेष केस gnome/kde/etc करना है और मैन्युअल रूप से उपयुक्त एप्लिकेशन (नॉटिलस/कॉन्करर/आदि) चलाएं?

ऐसा लगता है कि freedesktop.org लोगों द्वारा निर्दिष्ट किया जा सकता है (एक पाइथन मॉड्यूल, webbrowser के समान, यह भी अच्छा होगा!)।

उत्तर

9
os.system('xdg-open "%s"' % foldername) 

xdg-open भी

+5

यह 'आयात subprocess' /' subprocess.Popen ([ 'XDG-खुला', फ़ोल्डर]) 'के हवाले से के रूप में इस से बचा जाता है समस्याओं उपयोग करना बेहतर है फ़ाइलें/यूआरएल के लिए इस्तेमाल किया जा सकता –

0

यह शायद मैन्युअल रूप से किया जाना चाहिए, या एक कॉन्फ़िगरेशन आइटम के रूप में होना चाहिए क्योंकि ऐसे कई फ़ाइल प्रबंधक हैं जो उपयोगकर्ता उपयोग करना चाहते हैं। कमांड विकल्पों के लिए भी एक रास्ता प्रदान करना।

एक ऐसा फ़ंक्शन हो सकता है जो केडी या gnome के लिए अपने संबंधित टूलकिट में डिफ़ॉल्ट लॉन्च करता है लेकिन मेरे पास उनके लिए देखने का कोई कारण नहीं है।

0

आपको इसे चल रहे विंडो प्रबंधक के आधार पर ऐसा करने की आवश्यकता होगी। ओएसएक्स और विंडोज में एक (defacto) मानक तरीका है क्योंकि केवल एक ही विकल्प है।

आपको सटीक फ़ाइल प्रबंधक एप्लिकेशन निर्दिष्ट करने की आवश्यकता नहीं है, हालांकि, यह wm के माध्यम से करना संभव होना चाहिए। मुझे पता है कि जीनोम करता है, और यह केडीई में ऐसा करना महत्वपूर्ण है क्योंकि दो संभावित फ़ाइल प्रबंधक (कॉन्करर/डॉल्फिन) हैं जो उपयोग में हो सकते हैं।

मैं मानता हूं कि यह freedesktop.org के मानकीकरण के लिए एक अच्छी बात होगी, हालांकि मुझे संदेह है कि यह तब तक होगा जब तक कि कोई कदम उठाने और स्वयंसेवक इसे करने के लिए नहीं करता।


संपादित करें: मुझे xdg-open के बारे में पता नहीं था। जानकार अच्छा लगा!

संबंधित मुद्दे