作者alubasteve (poorguy)
看板Python
標題[問題] tkinter問題再問
時間Sun Jun 16 16:44:11 2019
感謝版上熱心先進指教
上次的排版問題已經試出解決方法
但當我進一步嘗試時
又有其他問題
想請教大家
這是我目前的程式
運作ok
https://pastebin.com/nrARFVRd
我的問題如下
1.請問如何移除格線(箭頭藍色)
https://imgur.com/a/G1kuUOJ
2.如何真的使用檔案
我用GUI的OPEN開檔案之後
實際上程式不會被開啟
而是在命令提示字元上出現預設字樣
https://imgur.com/a/q5tUet6
請問要如何設定程式碼才能夠使用檔案
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.163.180.88 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1560674654.A.69D.html
1F:推 chliu6: 修改tk.Menu(menubar, tearoff=0)可去除格線 06/16 23:22
2F:→ chliu6: askopenfilename只會傳回被選到的檔案路徑 不會幫你打開檔 06/16 23:26
3F:→ alubasteve: 給chliu6,多謝指教,去格線我試出來了 06/17 22:06
5F:→ alubasteve: 我想再請教打開檔案的部份,如果不用askopenfilename 06/17 22:07
6F:→ alubasteve: 您推薦改用哪個指令比較適合 06/17 22:07
8F:→ alubasteve: 請問我誤會文章意思了嗎 06/17 22:15
10F:→ alubasteve: 給chliu6,感謝您給的網頁,我已經將程式調整成這樣 06/18 22:49
13F:推 art1: 因為 open 是 python 內建函數,而你覆寫了 06/18 23:34
14F:推 art1: 要不然就是你的縮排混進了 tab,但其他的縮排卻是空格 06/18 23:37
15F:推 chliu6: 你的縮排有問題 自己看一下 06/19 22:01
16F:→ chliu6: 還有在open()函式最後一行要加上file.close() 06/19 22:02
17F:→ alubasteve: 給chliu6+art1,感謝兩位的指點,我把程式修改了 06/19 22:31
19F:→ alubasteve: 的縮排問題修正了,也追加了第9行的file.close() 06/19 22:33
22F:推 art1: 假設你的縮排都統一成使用空格了,請修改你的open函式名稱 06/20 17:22
23F:→ alubasteve: 給chliu6,感謝您的協助,這次程式叫的出來,但恕我愚昧 06/20 22:23
24F:→ alubasteve: 我實在看不出差異何在,我的縮排都是用tab了,起初有 06/20 22:28
25F:→ alubasteve: TAB也有4次空格但我修正了,所以應該跟您的都一樣 06/20 22:30
26F:→ alubasteve: 但結果就是不一樣,可以請您告訴我哪裡漏看了嗎 06/20 22:31
27F:→ alubasteve: 給art1,我不明白open函式名稱哪裡出錯,可以請您 06/20 22:33
28F:→ alubasteve: 一下嗎,我就只差那一點好不甘心 06/20 22:33
29F:→ alubasteve: 指點 抱歉漏字 06/20 22:49
30F:推 art1: 去找可以把空白差異標示出來的編輯器,如Notepad++或Sublime 06/21 00:36
31F:→ art1: 因為 python 有個內建函式也叫 open 06/21 00:38
32F:推 chliu6: 我用ultraedit看 06/21 08:03
33F:→ alubasteve: 給兩位,我用很搞笑的方法試出來了,我用Sublime 06/21 23:22
35F:→ alubasteve: 雖然我不會用文章提的Preferences→Settings User 06/21 23:24
37F:→ alubasteve: 但是我還是知道問題出在哪了程式的第6行的if 06/21 23:28
38F:→ alubasteve: 前面不是tab而是4次空格,但我用Atom看時就呈現是tab 06/21 23:29
39F:→ alubasteve: 所以我一直試不出來,只是如今有一點我想請問 06/21 23:30
43F:→ alubasteve: 差很多,我以為可以出現一個畫面跳出程式碼本身 06/21 23:49
44F:→ alubasteve: 我哪邊誤會了嗎 06/21 23:49
45F:推 art1: 那是編碼錯誤的訊息,要用內建的 open() 去改變編碼 06/22 00:07
46F:→ art1: google How to add encoding in python askopenfile 06/22 00:08
47F:→ alubasteve: 給art1,我不大明白"要用內建的 open() 去改變編碼" 06/22 10:33
48F:→ alubasteve: 我已經把open的函式名稱修改了,變成open_file 06/22 10:37
53F:推 art1: 你要學會看懂錯誤訊息,open直接用就好,前面不用加codecs. 06/22 12:25
55F:推 art1: 你查到的那個網頁是用 codecs 模組的 open 改變編碼,但內建 06/22 12:31
56F:→ art1: 的 open 應該就能改變編碼了 06/22 12:31
59F:→ alubasteve: 您很熱心,但是我資質甚淺,已經看不懂您在說什麼了 06/22 16:56
60F:→ alubasteve: 我猜只好先完成我看的書上剩的最後一節,之後回頭找 06/22 16:57
61F:→ alubasteve: 適當的教材從頭練功,事實上我問的問題已經超出我之前 06/22 16:57
62F:→ alubasteve: 書上內容倒數第二節非常多了,很感謝您跟chliu6的指導 06/22 16:59
63F:→ alubasteve: 讓我知道自己的不足 06/22 16:59
64F:推 art1: 要看懂錯誤訊息阿 = =|||,那個錯誤訊息說那行的縮排錯了 06/22 17:27
65F:→ art1: 把那行縮進去就好了 06/22 17:27
66F:→ art1: 請把你的 def open()的 open 改個名字 06/22 17:28
68F:→ alubasteve: 首先open()改成openfile(),然後我把codec去掉 06/22 18:23
69F:→ alubasteve: 之後我把縮排盡可能調整,最後終於程式叫得出來了 06/22 18:25
70F:→ alubasteve: 只是我一選我要的檔案之後就結束了,完全沒東西跳出來 06/22 18:26
71F:→ alubasteve: 我原本以為縮排要照我找的那個網頁,看來我搞錯了 06/22 18:29
72F:→ alubasteve: 另外我試著保留codec, 程式叫得出來沒錯,但是也是選擇 06/22 18:33
74F:→ alubasteve: 請問是我預估錯.py程式執行的結果嗎 06/22 18:34
75F:推 art1: 他只說有一行縮排錯誤,結果你把錯誤那行的上一行也縮排了 06/22 18:42
76F:→ art1: 而且不要別人的程式碼寫什麼就照著複製,看不懂那行做什麼就 06/22 18:43
77F:→ art1: 不要只會複製貼上 06/22 18:43
78F:→ art1: 你最好去學一下 with 是怎麼用 06/22 18:44