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