python
def open_program(): #tkinterのボタンを押したら実行される exe_path = "~~~~.exe" with open("temp","x") as f: #tempファイルを作成 f.write("~~~~") subprocess.Popen([exe_path,'-open', 'temp']) #tempファイルをプログラムから開く os.remove('temp') #tempファイルを削除
tempというファイルを作成して,これをsubprocessから開き,作成したtempファイルは削除する事をしたいと考えています
しかし,このコードだとpython側でエラーは起こりませんが,プログラムがファイルを認識してくれません.ファイルが存在しないと言われます.
おそらく,関数を出た後にファイルを開く操作が行われるためだと思うのですがどうすればファイルを開けるようにできるかわかりません
やってみたこと
ファイルを開くボタンと削除するボタンを別に分けるとちゃんと動きます
python
def open_program(): #tkinterのボタン1を押したら実行される exe_path = "~~~~.exe" with open("temp","x") as f: f.write("~~~~") subprocess.Popen([exe_path,'-open', 'temp']) def del_file(): tkinterのボタン2を押したら実行される os.remove('temp')
でも1つの関数にまとめようとするとファイルが開けません
python
def del_file(): os.remove('temp') def open_program(): #tkinterのボタン1を押したら実行される exe_path = "~~~~.exe" with open("temp","x") as f: f.write("~~~~") subprocess.Popen([exe_path,'-open', 'temp']) del_file()
まだ回答がついていません
会員登録して回答してみよう