みなさん,こんにちは。
シンノユウキ(shinno1993)です。
何らかの作業に使用する一連のファイルやフォルダ,Webページを,一括で開きたい!ということがあります。
私の場合,ある仕事をする際には,複数のWord・Excel・PDFファイルと,辞書的に使用するWebページを開いています。使用するファイルはいくつかのフォルダにまたがっているので,それを行ったり来たりするのも面倒です。Webページも,ブラウザを立ち上げる→ブックマークから開くといった作業も必要です。
ダブルクリック1回で作業を行う前の環境になるとベストでしょう。作業に取りかかるまでのハードルは,圧倒的に少なくしておきたいです。
そこで今回はPythonを使用して,特定のファイル・フォルダ・Webページを開く方法を紹介します。Pythonとして作成することで,ファイルのダブルクリックでプログラムを実行したり,タスクスケジューラで起動したりといったことも可能になります。
Pythonでファイル・フォルダ・Webページを開く方法
下記で,Pythonでファイル・フォルダ・Webページを開く方法をそれぞれ紹介していきます。
最初に,テンプレート(ひな形)となるコードを紹介すると,下記のようになります:
import subprocess
import webbrowser
# ①ファイルを開く
subprocess.Popen(["start", "", r"開くファイルのpath"], shell=True)
# ②フォルダを開く
subprocess.Popen(["explorer", r"開くフォルダのpath"], shell=True)
# ③Webページを開く
webbrowser.open("URL")
①:ファイルを開く
subprocessモジュールのPopen関数を使用します。使い方は下記です:
subprocessモジュールは,文字通りサブプロセスを立ち上げるためのモジュールです。Popen関数によりプロセスを生成できます。引数に,リスト形式で実行したいコマンドを指定可能です。startコマンドを指定することで,指定したファイルを既定のプログラムで開くことができます。
上記の場合,標準のシェル(cmd.exe等)で下記のコマンドを実行しています:
start 開くファイルのpath
②:フォルダを開く
ファイルを開く際と同様に,subprocessモジュールのPopen関数を使用します。使い方は下記です:
フォルダの場合は,explorerコマンドを使用します。フォルダパスを指定することで,エクスプローラーでフォルダを開くことができます。
③:Webページを開く
webbrowserモジュールを使用します。使い方は下記です:
とてもシンプルですね!
上記を実行することで,既定のブラウザで指定したURLのWebページを開くことができます。
注意点
上記で紹介したPopen関数は,プロセスを生成しますが,その終了を待ちません。そのためプログラムの実行の仕方によっては,プロセスの終了前にPythonが終了してしまい,うまくいかない場合があります。
その場合,下記のようにプロセスを変数で受け取り,wait関数で終了待ちをすると良いでしょう:
まとめ
今回はPythonで特定のファイル・フォルダ・Webページを開く方法を紹介しました。
作業に取りかかる前のハードルは極力低くしておきたいもの…。参考になれば幸いです!