私はPythonで、特定のフォルダのパスを持っています。私はそのシステムのためのデフォルトのフォルダエクスプローラを使用してそれを開きたいです。たとえば、Windowsの場合はエクスプローラを使いたい、Linuxの場合はNautilusを使いたいのですが、Macの場合はMac OSのエクスプローラが呼ばれているものを使いたいと思っています。Python:Explorer/Nautilus/Mac-thingieでフォルダを開く
どうすればいいですか?
私はPythonで、特定のフォルダのパスを持っています。私はそのシステムのためのデフォルトのフォルダエクスプローラを使用してそれを開きたいです。たとえば、Windowsの場合はエクスプローラを使いたい、Linuxの場合はNautilusを使いたいのですが、Macの場合はMac OSのエクスプローラが呼ばれているものを使いたいと思っています。Python:Explorer/Nautilus/Mac-thingieでフォルダを開く
どうすればいいですか?
オペレーティングシステムを検出し、それに応じて適切なファイルエクスプローラを起動する必要があると思います。
これはOSXのFinderのためにuserfulで来ることができます:Python "show in finder"
(以下だけ残念ながら窓のために働く)
import webbrowser as wb
wb.open('C:/path/to/folder')
これは、Windows上で動作します。
私はそれが他のプラットフォーム間で動作すると仮定します。誰でも確認できますか?
確認Windowsのみ:(
あなたはsubprocess
を使用することができます。
import subprocess
import sys
if sys.platform == 'darwin':
def openFolder(path):
subprocess.check_call(['open', '--', path])
elif sys.platform == 'linux2':
def openFolder(path):
subprocess.check_call(['xdg-open', '--', path])
elif sys.platform == 'win32':
def openFolder(path):
subprocess.check_call(['explorer', path])
OS X( 'darwin')コードは、OPが望んでいると思われるFinderウィンドウではなく、デフォルトアプリケーションでファイルを開こうとします。別の答えをするには、別の何かをする必要があります; http://stackoverflow.com/questions/3520493/python-show-in-finderを参照してください。 –
@Ned:質問には、「私はacフォルダを削除します。私は、ファイルパスがこの関数に渡されないと仮定しました。同じ制限がLinux/Gnomeコードにも適用されます。このコードはデフォルトアプリケーションのファイルも開きます。 –
私は最後のチェックに 'win32'を追加します – Alex
Macintosh上で、次の作品。GNU/Linuxの
import webbrowser
webbrowser.open('file:///Users/test/test_folder')
、フォルダの絶対パスを使用します。(してくださいフォルダが存在することを確認してください)
import webbrowser
webbrowser.open('/home/test/test_folder')
他のswer、Windowsでも動作します。
私は誰もがファイルとフォルダの両方で動作します* nixのためxdg-open
を使用して言及していない驚いています:Macの-thingieため
import os
import platform
import subprocess
def open_file(path):
if platform.system() == "Windows":
os.startfile(path)
elif platform.system() == "Darwin":
subprocess.Popen(["open", path])
else:
subprocess.Popen(["xdg-open", path])
Windowsでフォルダを開くときにファイルを選択(強調表示)する方法は? –
@mahemadhi:これはうまくいくはずです: 'subprocess.Popen([" explorer/select、 "、path])' – Cas
@Cas:動作しません。これは以下のようになります: 'subprocess.Popen([" explorer "、"/select "、path])' –
+1。 – TorelTwiddler
http://stackoverflow.com/questions/3520493/python-show-in-finder –