سؤال

أرغب في فتح نافذة مجلد، في مدير الملفات المناسب، من داخل تطبيق Python متعدد الأنظمة الأساسية (windows/mac/linux).

في OSX، يمكنني فتح نافذة في أداة البحث باستخدام

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

وعلى ويندوز مع

os.startfile(foldername)

ماذا عن يونكس/لينكس؟هل هناك طريقة قياسية للقيام بذلك أم هل يجب علي استخدام حالة خاصة gnome/kde/etc وتشغيل التطبيق المناسب يدويًا (nautilus/konqueror/etc)؟

يبدو هذا كشيء يمكن تحديده بواسطة freedesktop.org الناس (وحدة بيثون، على غرار webbrowser, ، سيكون لطيفًا أيضًا!).

هل كانت مفيدة؟

المحلول

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

xdg-open يمكن استخدامها للملفات/عناوين URL أيضًا

نصائح أخرى

من المحتمل أن يتم ذلك يدويًا، أو أن يكون كعنصر تكوين نظرًا لوجود العديد من مديري الملفات الذين قد يرغب المستخدمون في استخدامها.توفير وسيلة لخيارات الأوامر كذلك.

قد تكون هناك وظيفة تقوم بتشغيل الإعدادات الافتراضية لـ kde أو gnome في مجموعات الأدوات الخاصة بها ولكن لم يكن لدي سبب للبحث عنها.

سيتعين عليك القيام بذلك بناءً على مدير النوافذ قيد التشغيل.لدى OSX وWindows طريقة قياسية (فعلية) لأنه لا يوجد سوى خيار واحد.

لا ينبغي أن تحتاج إلى تحديد تطبيق مدير الملفات الدقيق، على الرغم من أنه من الممكن القيام بذلك من خلال الملف wm.أعلم أن Gnome يفعل ذلك، ومن المهم القيام بذلك في KDE نظرًا لوجود مديري ملفات محتملين (Konqueror/Dolphin) قد يكونان قيد الاستخدام.

أوافق على أن هذا سيكون أمرًا جيدًا لـ freedesktop.org لتوحيد المعايير، على الرغم من أنني أشك في أن ذلك سيحدث ما لم يتقدم شخص ما ويتطوع للقيام بذلك.


يحرر:لم أكن على علم بـ xdg-open.جيد ان تعلم!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top