Ответ 1
Мне удалось выяснить способ вызова другого python script при нажатии кнопки:
вместо использования os.system('SendEmail.py') нам нужно использовать os.system('python SendEmail.py')
У меня есть python script, у которого есть функция отправки электронной почты пользователю. Я выполнил этот script, и он работает нормально. В другом python script у меня есть только кнопка, поэтому, когда я нажимаю на эту кнопку, мне нужен другой python script, который отправляет письмо для запуска. Я написал следующий код:
#!/usr/bin/python
import sys
import os
import Tkinter
import tkMessageBox
top=Tkinter.Tk()
def helloCallBack():
os.system('SendEmail.py')
B=Tkinter.Button(top,text="hello",command= helloCallBack)
B.pack()
top.mainloop()
Я получаю следующую ошибку, когда я нажимаю кнопку:
sh: 1: SendEmail.py: не найден.
Не могли бы вы сообщить мне, в чем причина этой ошибки и как ее можно решить. Спасибо.
Мне удалось выяснить способ вызова другого python script при нажатии кнопки:
вместо использования os.system('SendEmail.py') нам нужно использовать os.system('python SendEmail.py')
Если ваш SendEmail.py
находится в том же месте, используйте os.system('SendEmail.py')
. Если он находится в другом месте, используйте os.system('python SendEmail.py')
.
import sys
import os
from tkinter import *
window=Tk()
window.title("Running Python Script")
window.geometry('550x200')
def run():
os.system('opencv_video.py')
btn = Button(window, text="Click Me", bg="black", fg="white",command=run)
btn.grid(column=0, row=0)
window.mainloop()
#!/usr/bin/python
import sys
import sys
import os
import Tkinter
import tkMessageBox
top=Tkinter.Tk()
def helloCallBack():
os.system('python SendEmail.py')
B=Tkinter.Button(top,text="hello",command= helloCallBack)
B.pack()
top.mainloop()
используйте ключевое слово "python" для запуска команды
#!/usr/bin/python
import sys
import os
import tkinter as tk
root = tk.Tk()
def helloCallBack():
os.system('call.py')
#Keep_both_files_in_the_same_Folder
b1=tk.Button(root, text="Calendar",bg="white",command=helloCallBack)
b1.pack()
root.mainloop()