<div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201905/15571962176c56aa10448a4b2c8226dac6b8829938__mn510487__w926__h283__f9766__Ym201905.png" width="800" height="244" alt="1112.PNG" class="chimg_photo" style="border:none;" filesize="9766"></div><br><div> <div class="colorscripter-code" style="color:#010101;overflow:auto;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;"> <table class="colorscripter-code-table" style="margin:0px;padding:0px;border:none;background-color:#fafafa;" cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:6px;border-right:2px solid rgb(229,229,229);"> <div style="margin:0px;padding:0px;text-align:right;color:#666666;line-height:130%;"> <div style="line-height:130%;">1</div> <div style="line-height:130%;">2</div> <div style="line-height:130%;">3</div> <div style="line-height:130%;">4</div> <div style="line-height:130%;">5</div> <div style="line-height:130%;">6</div> <div style="line-height:130%;">7</div> <div style="line-height:130%;">8</div> <div style="line-height:130%;">9</div> <div style="line-height:130%;">10</div> <div style="line-height:130%;">11</div> <div style="line-height:130%;">12</div> <div style="line-height:130%;">13</div> <div style="line-height:130%;">14</div> <div style="line-height:130%;">15</div> <div style="line-height:130%;">16</div> <div style="line-height:130%;">17</div> <div style="line-height:130%;">18</div> <div style="line-height:130%;">19</div> <div style="line-height:130%;">20</div> <div style="line-height:130%;">21</div> <div style="line-height:130%;">22</div> <div style="line-height:130%;">23</div> <div style="line-height:130%;">24</div> <div style="line-height:130%;">25</div> <div style="line-height:130%;">26</div> <div style="line-height:130%;">27</div> <div style="line-height:130%;">28</div> <div style="line-height:130%;">29</div> <div style="line-height:130%;">30</div> <div style="line-height:130%;">31</div> <div style="line-height:130%;">32</div> <div style="line-height:130%;">33</div> <div style="line-height:130%;">34</div> <div style="line-height:130%;">35</div> <div style="line-height:130%;">36</div> <div style="line-height:130%;">37</div> <div style="line-height:130%;">38</div> <div style="line-height:130%;">39</div> <div style="line-height:130%;">40</div> <div style="line-height:130%;">41</div> <div style="line-height:130%;">42</div> <div style="line-height:130%;">43</div> <div style="line-height:130%;">44</div> <div style="line-height:130%;">45</div> <div style="line-height:130%;">46</div> <div style="line-height:130%;">47</div> <div style="line-height:130%;">48</div> <div style="line-height:130%;">49</div> <div style="line-height:130%;">50</div> <div style="line-height:130%;">51</div> <div style="line-height:130%;">52</div> <div style="line-height:130%;">53</div> <div style="line-height:130%;">54</div> <div style="line-height:130%;">55</div> <div style="line-height:130%;">56</div> <div style="line-height:130%;">57</div></div></td> <td style="padding:6px 0px;"> <div style="margin:0px;padding:0px;color:#010101;line-height:130%;"> <div style="padding:0px 6px;white-space:pre;line-height:130%;"><span style="color:#a71d5d;">import</span> os</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"><span style="color:#a71d5d;">import</span> tkinter as tk</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"><span style="color:#a71d5d;">import</span> tkinter.filedialog as fd</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"><span style="color:#a71d5d;">import</span> tkinter.ttk as tp</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"><span style="color:#a71d5d;">class</span> Myapp:</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">def</span> __init__(self):</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> self.opened_files <span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span> []</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> self.window <span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span> tk.Tk()</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> self.window.title <span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span> <span style="color:#63a35c;">"renamer"</span></div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#999999;">#Open 버튼을 눌러서 이름을 바꿀 파일 불러오기</span></div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> self.openbutton <span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span> tk.Button(self.window,text <span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span> <span style="color:#63a35c;">"Open"</span>, command <span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span> self.open_buttonclick)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> self.openbutton.pack()</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"><span style="color:#0086b3;"></span><span style="color:#a71d5d;">-</span></div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#999999;">#불러온 파일/바뀔 이름 표시</span></div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> self.fileview <span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span> tp.Treeview(self.window, columns<span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span>[<span style="color:#63a35c;">'#1'</span> ,<span style="color:#63a35c;">'#2'</span>], displaycolumns <span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span> [<span style="color:#63a35c;">'#1'</span>,<span style="color:#63a35c;">'#2'</span>])</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> self.fileview.pack()</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> self.fileview.column(<span style="color:#63a35c;">'#0'</span>,width <span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span> <span style="color:#0099cc;">40</span>)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> self.fileview.heading(<span style="color:#63a35c;">'#0'</span>, text<span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span><span style="color:#63a35c;">'Order'</span>)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> self.fileview.column(<span style="color:#63a35c;">'#1'</span>, width <span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span> <span style="color:#0099cc;">440</span>)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> self.fileview.heading(<span style="color:#63a35c;">'#1'</span>, text <span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span> <span style="color:#63a35c;">"Original Name"</span>)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> self.fileview.column(<span style="color:#63a35c;">'#2'</span>, width <span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span> <span style="color:#0099cc;">440</span>)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> self.fileview.heading(<span style="color:#63a35c;">'#2'</span>, text<span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span> <span style="color:#63a35c;">"renamed"</span>)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> self.filetrees <span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span> rename_preview_list(self.opened_files,<span style="color:#63a35c;">'[SHANA]'</span>,<span style="color:#63a35c;">''</span>)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">for</span> i <span style="color:#a71d5d;">in</span> self.filetrees:</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> self.fileview.insert(<span style="color:#63a35c;">''</span>,<span style="color:#63a35c;">'end'</span>,test <span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span> i , values <span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span> self.filetrees[i], iid <span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span> <span style="color:#066de2;">str</span>(i)<span style="color:#0086b3;"></span><span style="color:#a71d5d;">+</span><span style="color:#63a35c;">'번'</span>)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#066de2;">print</span>(self.opened_files)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> self.window.mainloop()</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#999999;">#파일 불러오기</span></div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">def</span> open_buttonclick(self):</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> filenames <span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span> fd.askopenfilenames()</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">for</span> i <span style="color:#a71d5d;">in</span> filenames:</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> self.opened_files.append(i)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"><span style="color:#999999;">#바꿀 이름을 미리 보여주기</span></div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"><span style="color:#a71d5d;">def</span> rename_preview_list(filelist,start,dst):</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> filetrees <span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span> []</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">for</span> i <span style="color:#a71d5d;">in</span> filelist:</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> str_name <span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span> <span style="color:#066de2;">str</span>(i)</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> dst_name <span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span> <span style="color:#066de2;">str</span>(str_name.replace(start,dst))</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> file_keys <span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span> [str_name, dst_name]</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> filetrees.append(tuple(file_keys))</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> <span style="color:#a71d5d;">return</span> filetrees</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"><span style="color:#a71d5d;">if</span> __name__ <span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span><span style="color:#0086b3;"></span><span style="color:#a71d5d;">=</span> <span style="color:#63a35c;">"__main__"</span>:</div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> </div> <div style="padding:0px 6px;white-space:pre;line-height:130%;"> Myapp()</div></div> <div style="text-align:right;margin-top:-13px;margin-right:5px;font-size:9px;font-style:italic;"><a target="_blank" href="http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5;">Colored by Color Scripter</a></div></td> <td style="vertical-align:bottom;padding:0px 2px 4px 0px;"><a target="_blank" href="http://colorscripter.com/info#e" target="_blank" style="color:#FFFFFF;"><span style="font-size:9px;background-color:#e5e5e5;padding:1px;">cs</span></a></td></tr></tbody></table><br></div></div> <div class="colorscripter-code" style="color:#010101;overflow:auto;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;"><br></div> <div class="colorscripter-code" style="color:#010101;overflow:auto;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;">tkinter의 button으로 실행한 함수 리턴값을 받아낼 수 없어서 클래스 변수 설정해놓고 갖고와서 추가하는 식으로 만들었는데요.. </div> <div class="colorscripter-code" style="color:#010101;overflow:auto;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;"><br></div> <div class="colorscripter-code" style="color:#010101;overflow:auto;font-family:Consolas, 'Liberation Mono', Menlo, Courier, monospace;">open_buttonclick()함수로 파일을 불러와서 tkinter의 treeview로 표시하려고 하는데, 변수 self.opened_files가 open_buttonclick()을 실행해도 함수 밖으로 값이 나가질 않아서 treeview에서 표시가 되질 않네요.. 클래스 내에서도 전역변수를 써야하는 건가요??? </div>
<img src="https://www.googledrive.com/host/0B368oyUK4AnwSXhIaExEWjVDbkE" style="width:auto;height:auto;" alt="0B368oyUK4AnwSXhIaExEWjVDbkE">
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.