[問題] tkinter問題再問

作者: alubasteve (poorguy)   2019-06-16 16:44:11
感謝版上熱心先進指教
上次的排版問題已經試出解決方法
但當我進一步嘗試時
又有其他問題
想請教大家
這是我目前的程式
運作ok
https://pastebin.com/nrARFVRd
我的問題如下
1.請問如何移除格線(箭頭藍色)
https://imgur.com/a/G1kuUOJ
2.如何真的使用檔案
我用GUI的OPEN開檔案之後
實際上程式不會被開啟
而是在命令提示字元上出現預設字樣
https://imgur.com/a/q5tUet6
請問要如何設定程式碼才能夠使用檔案
作者: chliu6 (反正我就是爛)   2019-06-16 23:22:00
修改tk.Menu(menubar, tearoff=0)可去除格線askopenfilename只會傳回被選到的檔案路徑 不會幫你打開檔
作者: alubasteve (poorguy)   2019-06-17 22:06:00
給chliu6,多謝指教,去格線我試出來了https://pastebin.com/bpb28VRE我想再請教打開檔案的部份,如果不用askopenfilename您推薦改用哪個指令比較適合我改用askopenfile也沒用https://reurl.cc/Mx6y3請問我誤會文章意思了嗎
作者: chliu6 (反正我就是爛)   2019-06-18 08:17:00
作者: alubasteve (poorguy)   2019-06-18 22:49:00
給chliu6,感謝您給的網頁,我已經將程式調整成這樣https://pastebin.com/c5dfgbpC但反而有問題會說https://imgur.com/a/HeWXmmO,請問我那邊弄錯了
作者: art1 (人,原來不是人)   2019-06-18 23:34:00
因為 open 是 python 內建函數,而你覆寫了要不然就是你的縮排混進了 tab,但其他的縮排卻是空格
作者: chliu6 (反正我就是爛)   2019-06-19 22:01:00
你的縮排有問題 自己看一下還有在open()函式最後一行要加上file.close()
作者: alubasteve (poorguy)   2019-06-19 22:31:00
給chliu6+art1,感謝兩位的指點,我把程式修改了https://pastebin.com/ddaHhFmb 而且我把第7+8行的縮排問題修正了,也追加了第9行的file.close()但問題依然存在https://imgur.com/a/cAl8dMt
作者: chliu6 (反正我就是爛)   2019-06-19 23:30:00
作者: art1 (人,原來不是人)   2019-06-20 17:22:00
假設你的縮排都統一成使用空格了,請修改你的open函式名稱
作者: alubasteve (poorguy)   2019-06-20 22:23:00
給chliu6,感謝您的協助,這次程式叫的出來,但恕我愚昧我實在看不出差異何在,我的縮排都是用tab了,起初有TAB也有4次空格但我修正了,所以應該跟您的都一樣但結果就是不一樣,可以請您告訴我哪裡漏看了嗎給art1,我不明白open函式名稱哪裡出錯,可以請您一下嗎,我就只差那一點好不甘心指點 抱歉漏字
作者: art1 (人,原來不是人)   2019-06-21 00:36:00
去找可以把空白差異標示出來的編輯器,如Notepad++或Sublime因為 python 有個內建函式也叫 open
作者: chliu6 (反正我就是爛)   2019-06-21 08:03:00
我用ultraedit看
作者: alubasteve (poorguy)   2019-06-21 23:22:00
給兩位,我用很搞笑的方法試出來了,我用Sublime因為我看到這篇文章https://reurl.cc/LrXZK雖然我不會用文章提的Preferences→Settings User因為我的Sublime沒這選項https://imgur.com/a/UqUwESC但是我還是知道問題出在哪了程式的第6行的if前面不是tab而是4次空格,但我用Atom看時就呈現是tab所以我一直試不出來,只是如今有一點我想請問我打開GUI之後https://imgur.com/a/1WSg7i7 開檔案https://imgur.com/a/TXy3PYD 檔案我也確定能跑結果變成這樣https://imgur.com/a/tPZfmwL 跟我想像的差很多,我以為可以出現一個畫面跳出程式碼本身我哪邊誤會了嗎
作者: art1 (人,原來不是人)   2019-06-22 00:07:00
那是編碼錯誤的訊息,要用內建的 open() 去改變編碼google How to add encoding in python askopenfile
作者: alubasteve (poorguy)   2019-06-22 10:33:00
給art1,我不大明白"要用內建的 open() 去改變編碼"我已經把open的函式名稱修改了,變成open_filehttps://imgur.com/a/Rcpy6rq還是行不通我另外參考這個網頁https://reurl.cc/8MqOM程式碼改成https://pastebin.com/vCJ9wvJU 但依然失敗https://imgur.com/a/OBauhgE結果變成這樣
作者: art1 (人,原來不是人)   2019-06-22 12:25:00
你要學會看懂錯誤訊息,open直接用就好,前面不用加codecs.而且你給的https://pastebin.com/vCJ9wvJU裏面還是def open你查到的那個網頁是用 codecs 模組的 open 改變編碼,但內建的 open 應該就能改變編碼了
作者: alubasteve (poorguy)   2019-06-22 16:53:00
抱歉我還是失敗了https://pastebin.com/JzN1htQ8https://imgur.com/a/71HYNT9 我目前的問題很明顯您很熱心,但是我資質甚淺,已經看不懂您在說什麼了我猜只好先完成我看的書上剩的最後一節,之後回頭找適當的教材從頭練功,事實上我問的問題已經超出我之前書上內容倒數第二節非常多了,很感謝您跟chliu6的指導讓我知道自己的不足
作者: art1 (人,原來不是人)   2019-06-22 17:27:00
要看懂錯誤訊息阿 = =|||,那個錯誤訊息說那行的縮排錯了把那行縮進去就好了請把你的 def open()的 open 改個名字
作者: alubasteve (poorguy)   2019-06-22 18:22:00
給art1,我改成這樣了https://pastebin.com/j7BpWLib首先open()改成openfile(),然後我把codec去掉之後我把縮排盡可能調整,最後終於程式叫得出來了只是我一選我要的檔案之後就結束了,完全沒東西跳出來我原本以為縮排要照我找的那個網頁,看來我搞錯了另外我試著保留codec, 程式叫得出來沒錯,但是也是選擇檔案之後就沒有反應 https://pastebin.com/wtJfq3gv請問是我預估錯.py程式執行的結果嗎
作者: art1 (人,原來不是人)   2019-06-22 18:42:00
他只說有一行縮排錯誤,結果你把錯誤那行的上一行也縮排了而且不要別人的程式碼寫什麼就照著複製,看不懂那行做什麼就不要只會複製貼上你最好去學一下 with 是怎麼用

Links booklink

Contact Us: admin [ a t ] ucptt.com