前提・実現したいこと
ファイルの選択画面の初期ディレクトリの指定に関してなのですが、initialdirでtextファイルに書いてあるディレクトリを初期ディレクトリにしたい。
3つの初期ディレクトリが違うように設定したい。
発生している問題・エラーメッセージ
それぞれの初期ディレクトリを指定しているのですが、うまく表示されません。
前に指定したフォルダが初期フォルダに指定されてしまいます。
該当のソースコード
python
1import tkinter as tk 2import tkinter.filedialog 3import tkinter.messagebox 4from tkinter import ttk 5from tkinter import * 6import pandas as pd 7import os 8import datetime 9import logging 10import codecs 11 12def button01_click(): 13 path = "情報.txt" 14 with open(path) as f_01: 15 f_02 = f_01.read() 16 file_name01 = tk.filedialog.askopenfilename(initialdir=f_02) 17 if file_name01: 18 attribute_01.set(file_name01) 19def button02_click(): 20 path = "情報01.txt" 21 with open(path) as f_03: 22 f_04 = f_03.read() 23 file_name02 = tk.filedialog.askopenfilename(initialdir=f_04) 24 if file_name02: 25 file01.set(file_name02) 26 27def button03_click(): 28 path = "情報02.txt" 29 with open(path) as f_03: 30 f_04 = f_03.read() 31 file_name03 = tk.filedialog.askopenfilename(initialdir=f_03) 32 if file_name03: 33 file02.set(file_name03) 34 35 36if __name__ == "__main__": 37 root = tk.Tk() 38 root.geometry("1300x500") 39 root.title("データの選択") 40 frame01 = ttk.Frame(root,padding=(32)) 41 frame01.grid() 42 43 button01 = ttk.Button(frame01,text="ファイルの選択",width=30,command=button01_click) 44 button01.grid(row=0,column=5) 45 attribute_01 = StringVar() 46 label01 = ttk.Label(frame01,textvariable=attribute_01) 47 label01.grid(row=0,column=6) 48 49 button02 = ttk.Button(frame01,text="ファイルの選択",width=25,command=button02_click) 50 button02.grid(row=1,column=5) 51 file01 = StringVar() 52 label02 = ttk.Label(frame01,textvariable=file01) 53 label02.grid(row=1,column=6) 54 55 button03 = ttk.Button(frame01,text="出力先の選択",width=25,command=button03_click) 56 button03.grid(row=2,column=5) 57 file02 = StringVar() 58 label04 = ttk.Label(frame01,textvariable=file02) 59 label04.grid(row=2,column=6) 60 61 button04 = ttk.Button(frame01,text='作成',command=lambda: root.quit()) 62 button04.grid(row=3,column=5) 63 64 root.mainloop() 65 66 attriable_02 = attribute_01.get() 67 attriable_03 = attriable_02.split("/") 68 attriable_04 = attriable_03.pop() 69 map_01 = map(str,attriable_03) 70 attriable_05 = "/".join(map_01) 71 with open("情報.txt","w") as g: 72 print(attriable_05,file=g) 73 74 attriable_06 = file01.get() 75 attriable_07 = attriable_06.split("/") 76 attriable_08 = attriable_07.pop() 77 map_02 = map(str,attriable_07) 78 attriable_09 = "/".join(map_02) 79 with open("情報01.txt","w") as g: 80 print(attriable_09,file=g) 81 82 attriable_10 = file02.get() 83 attriable_11 = attriable_10.split("/") 84 attriable_12 = attriable_11.pop() 85 map_03 = map(str,attriable_11) 86 attriable_13 = "/".join(map_03) 87 with open("情報02.txt","w") as g: 88 print(attriable_13,file=g) 89
試したこと
いろいろと調べて行ったのですができませんでした。
補足情報(FW/ツールのバージョンなど)
pythonのバージョンはPython 3.7.6です。
回答1件
あなたの回答
tips
プレビュー