Python のスクリプトから、特定のファイル、例えば Excel のファイルをデフォルトのアプリ(この場合は Excel)で開きたい時、subprocess.Popen に 'explorer' と、開きたいファイルのパスを渡して開いています。もちろんこれは Windows でスクリプトを実行する場合です。
それでは Linux ではどうするか。Excel ファイルを Linux で扱うことができますが、アプリはもちろん Microsoft Office ではありません。LibreOffice や WPS Office など複数の選択肢があります。デスクトップ環境は GNOME ばかりではないので、'nautilus' に頼るわけにも行きません。さらに、これらのアプリが Flatpak でインストールされている場合もあります。
そんなとき、Freedesktop.org の xdg-open を使えば良いことが判ったので、備忘録としました。
Python でファイルをデフォルトアプリで開く例
: : def open_file_with_app(self, name_file): path = pathlib.PurePath(name_file) if platform.system() == 'Linux': app_open = 'xdg-open' else: app_open = 'explorer' subprocess.Popen([app_open, path]) : :
Fedora では xdg-utils というパッケージに収録されています。
[bitwalk@fedora-pc ~]$ rpm -qf /usr/bin/xdg-open xdg-utils-1.1.3-7.fc33.noarch [bitwalk@fedora-pc ~]$ rpm -qi xdg-utils Name : xdg-utils Version : 1.1.3 Release : 7.fc33 Architecture: noarch Install Date: 2020年09月30日 16時38分09秒 Group : Unspecified Size : 319997 License : MIT Signature : RSA/SHA256, 2020年07月31日 05時29分30秒, Key ID 49fd77499570ff31 Source RPM : xdg-utils-1.1.3-7.fc33.src.rpm Build Date : 2020年07月31日 05時25分40秒 Build Host : buildvm-a64-17.iad2.fedoraproject.org Packager : Fedora Project Vendor : Fedora Project URL : http://portland.freedesktop.org/ Bug URL : https://bugz.fedoraproject.org/xdg-utils Summary : Basic desktop integration functions Description : The xdg-utils package is a set of simple scripts that provide basic desktop integration functions for any Free Desktop, such as Linux. They are intended to provide a set of defacto standards. This means that: * Third party software developers can rely on these xdg-utils for all of their simple integration needs. * Developers of desktop environments can make sure that their environments are well supported * Distribution vendors can provide custom versions of these utilities The following scripts are provided at this time: * xdg-desktop-icon Install icons to the desktop * xdg-desktop-menu Install desktop menu items * xdg-email Send mail using the user's preferred e-mail composer * xdg-icon-resource Install icon resources * xdg-mime Query information about file type handling and install descriptions for new file types * xdg-open Open a file or URL in the user's preferred application * xdg-screensaver Control the screensaver * xdg-settings Get various settings from the desktop environment [bitwalk@fedora-pc ~]$
参考サイト
0 件のコメント:
コメントを投稿