0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ubuntuでpythonのsubprocessを使ってexeファイルを開く

Last updated at Posted at 2024-11-22

状況

subprocessモジュールを使ってexeファイルを開くプログラムをWindowsで使っていた.
これをubuntuでも実行したい.
しかしubuntuはexeファイルに対応していない.

やり方

Ubuntuでexeを扱えるようにするwineというものがある。
以下のようにwineコマンドを使えば、

wine {フルパスまたは相対パス}/hoge.exe

でexeファイルを実行できる。
このコマンドをsubprocess.runで実行させればよい。

wineのインストール

Ubuntu 22.04.2 LTSにWineをインストールする手順【初心者向け】
を見てほしい.

サンプルコード

test_exe.py
import subprocess

def run_exe_with_wine(exe_path):
    """
    wineを使って.exeファイルを実行する
    """
    try:
        # wineで.exeを実行
        result = subprocess.run(['wine', exe_path], check=True, text=True, capture_output=True)
        print("Output:", result.stdout)
    except subprocess.CalledProcessError as e:
        print("Error:", e.stderr)
    except FileNotFoundError:
        print("wineがインストールされているか確認してください。")

if __name__ == "__main__":
    # 実行したい.exeファイルのフルパス
    exe_file = "/path/to/your/program.exe"
    run_exe_with_wine(exe_file)

subprocess.runの引数

  • check=True: 実行が失敗した場合に例外を発生
  • text=True: 標準出力とエラー出力を文字列として扱う
  • capture_output=True: 標準出力とエラー出力をキャプチャする

まとめ

wineを使ってexeを実行できることは知っていたが,subprocess経由でも簡単にできてうれしい.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?