python
  • file
  • python-2.7
  • tkinter
  • 2013-07-09 75 views 1 likes 
    1

    我想知道如何通過Tkinter GUI打開文件,例如在打開.txt文件的界面中有一個按鈕。如果它加載到文本框中,或者如果它在文本編輯器中打開,只是希望它打開,則無關緊要。最好在文本編輯器中打開。通過Tkinter GUI打開txt文件

    def openInstruktion(): 
        f= open("instruktioner.txt") 
    
    instruktionBtn = Button(root, text='Spelinstruktioner', command=openInstruktion) 
    instruktionBtn.grid(row=6, column=0) 
    

    我在網上搜索一些答案,但大多數人使用的菜單欄。我想通過上面張貼的按鈕打開它。

    +0

    你在你的系統默認的文本編輯器是什麼意思? – Hans

    +1

    你應該可以用'os.startfile(filepath)'或'os.system(filepath)'在系統的默認文本編輯器中打開一個文本文件。 – martineau

    +0

    是的!確切地說,這是一個帶有指令的遊戲,如果他們按下默認系統編輯器打開的文件按鈕。 – SterlinkArcher

    回答

    2

    所以如果你想對文件做些什麼操作將發生在函數openInstruktion

    def openInstrucktion(): 
        f= open("instruktioner.txt") 
        #t is a Text widget 
        t.insert(1.0, f.read()) 
    

    或者,如果你想與編輯器中打開它:

    def openInstrucktion(): 
        os.system('emacs instrucktioner.txt') 
    
    +0

    爲什麼打開它?如果只是將內容發佈到文本框中,這並不難。或者使用默認編輯器打開它? @andrejcurcic – zhangyangyu

    +0

    我沒有其他含義。我只是不明白這個問題。我會更新我的答案。 :)@ andrejcurcic – zhangyangyu

    +0

    我已經更新了我的答案。我認爲這次是對的。 @andrejcurcic – zhangyangyu

    1

    如果你想打開的默認程序的文件,你可以使用os模塊:

    def openInstruktion(): 
        from os import startfile 
        startfile("c:\\path\\to\\file") 
    
    instruktionBtn = Button(root, text='Spelinstruktioner', command=openInstruktion) 
    instruktionBtn.grid(row=6, column=0) 
    

    或者,如果您想用特定程序打開它,請嘗試子流程模塊:

    def openInstruktion(): 
        from subprocess import call 
        call("notepad c:\\path\\to\\file") 
    
    instruktionBtn = Button(root, text='Spelinstruktioner', command=openInstruktion) 
    instruktionBtn.grid(row=6, column=0) 
    

    如果你想然而,在一個文本框打開它,你可以做這樣的事情:

    file = open("c:\\path\\to\\file").read() 
    textbox.insert(0.0, file) 
    

    您最好的選擇很可能是在默認編輯器中打開它(用不同的程序中打開它可能不人們想要什麼,並在文本框中打開它具有不良的圖形)。

    0

    如果你想在默認的編輯器 打開文件(它總是最好使用默認的一個唯一的)

    def openInstrucktion(): 
        os.system('start " " instruktioner.txt') 
    
    相關問題