2015-11-14 2 views
-2

Как я хочу вызвать другой файл в командной строке?Вызов другого файла в командной строке (Python)

На самом деле я хочу создать кнопку с помощью команды, которая вызывает другой файл.

это мой код

from tkinter import * 

root = Tk() 

root.configure(bg='black') #background color 
root.geometry("500x300") #size frame 

label1 = Label(text = "Setting" , font = "TIMES 15",fg = "Cyan", bg = "black" ).pack(anchor = NW) 

Button1 = Button(root, text = "Done" , fg = "black", bg = "black" , ***command = OpeningPage.foo***).pack(padx = 0 , pady = 0, anchor = NE) 
Button2 = Button(root, text = "Cancel" , fg = "black", bg = "black" , command =root.quit).pack(padx = 0, pady =1, anchor = NE) 



root.mainloop() 

Смелый является команда, я хочу, чтобы команда будет вызывать мой другой файл.

+1

Это не имеет значения для кода, который вы отправили, но переменные Button1, Button2 не будут кнопками - вместо этого их значения будут возвращены в любой пакет(), который является None. – 7stud

+1

Вы не можете «вызывать» файлы. Вы спрашиваете, как запустить новый процесс python и предоставить ему этот другой файл? Или вы хотите импортировать класс или функцию из другого файла и запустить его? –

ответ

1

Импортируйте этот файл и вызывайте его конкретную функцию.

0

вы должны сказать, что хотите делать с файлом: просто введите имя файла или откройте и прочитайте, как если бы вы сделали с командой open().

Предполагаю, что вы хотите открыть и прочитать файл, а напечатать строки в нем. Я использую Python 2.7, поэтому вместо того, чтобы импортировать tkFileDialog вы будете импортировать FileDialog и Tkinter вместо Tkinter как объяснено в этом Tkinter site. Я посмотрел на этот Python Course и нашел пример кода с кнопками, потому что я не очень хорошо помнил, как это сделать сам: P, а затем я просто добавил некоторые из функций, которые у вас есть.

from Tkinter import * 
from tkFileDialog import askopenfile 

root = Tk() 

root.configure(bg='black') #background color 
root.geometry("500x300") #size frame 


def callback(): 
    name= askopenfile(mode='r') 
    file = name 
    count = 0 
    for line in file: 
     count += 1 
     print count,line.rstrip() 



label1 = Label(text = "Setting" , font = "TIMES 15",fg = "Cyan", bg="black" ).pack(anchor = NW) 

errmsg = 'Error!' 

Button(text='File Open', command=callback, fg = "Cyan", bg = "black").pack(fill=X,padx = 0 , pady = 0, anchor = NE) 
Button(text='Quit', command=root.quit , fg = "Cyan", bg = "black").pack(fill=X,padx = 0 , pady = 0, anchor = NE) 
mainloop() 

Надеюсь, это будет вам полезно.

0

Если это то, что вы имеете в виду, чтобы перспективе другой Python файл из этого, вам нужно import os и тогда, когда вы хотите, чтобы запустить его называют os.system("python yourfile.py"). Он в основном вызывает любую команду между кавычками, как если бы из терминала/cmd. Я также предлагаю создавать такие кнопки, а не так, как вы это делали.

button=Button(root) 
Button.pack() 

Это потому, что их создание, как вы, потому что, как 7stud сказал, «их значения будут все, что упаковка() возвращает, что нет.»

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