2010-07-03 4 views
0

Я пишу программу tkinter, которая является своего рода программой, которая похожа на портфолио и открывает другие программы, также написанные на питоне. Так, например, у меня есть FILE_1 и FILE_2, и я хочу написать программу, которая нажала на определенную кнопку, открывает FILE_1 или FILE_2. я не нужна помощь с внешним видом, как с помощью кнопок просто как wirte функции, которая открывает программуОткрыть файл с Python

Это код, который я использовал:

from Tkinter import * 
import subprocess 

master = Tk() 

def z(): 
    p=subprocess.Popen('test1.py') 
    p.communicate() 


b = Button(master, text="OK", command=z) 
b.pack() 



mainloop() 

ответ

3

Hook кнопки до обратного вызова, которая вызывает subprocess.Popen:

import subprocess 
p=subprocess.Popen('FILE_1.py') 
p.communicate() 

Это попытается выполнить runFILE_1.py как отдельный процесс. p.communicate() заставит вашу основную программу ждать до FILE_1.py выходов.

+0

спасибо, но что, если я хочу, чтобы у него было две кнопки, они оба не откроют один и тот же файл или не будут ли различать файлы? – DonJuma

+0

@Matthew: Каждая кнопка может быть подключена к собственной функции обратного вызова. Поэтому нажатие каждой кнопки вызывает другую функцию, которая может запускать другую программу. – unutbu

+0

и делает это, открывая его в другом окне – DonJuma

Смежные вопросы