如何从隐藏控制台 python 脚本中 运行 一个 python 控制台脚本?
How run a python console script from a hiding console python script?
我在 python 方面不是很有经验,我开始使用 Tkinter 构建应用程序。
就像它是一个 window 项目一样,我用 pythonw.exe 打开它,但它调用了一个控制台脚本,如果第一个脚本被隐藏,我就无法显示第二个脚本的控制台...
有一段代码调用第二个脚本:
from selenium_script import main
self.btn_downloadAnime = tk.Button(self.frm_addAnime, text='Lunch download script with voiranime.com links',
bg=self.colorBTN, font=22, activebackground=self.colorBG, height=2, width=50,
command=main)
这是您要找的吗:
main.py
:
import tkinter as tk
import subprocess
import sys
COMMAND = "start python selenium_script.py"
def start_new_proc():
proc = subprocess.Popen(COMMAND, close_fds=False, shell=True)
root = tk.Tk()
button = tk.Button(root, command=start_new_proc, text="Start new process")
button.pack()
root.mainloop()
selenium_script.py
:
user_input = input(">>> ")
print("You typed this: " + str(user_input))
input("Press enter to exit.")
我使用 subprocess.Popen
开始一个新进程。新进程以自己的shell开始(因为COMMAND
变量中的"start"
)
是的,我错过了过程的概念......
以前的解决方案有效,我也找到了一个:
def open_selenium(self):
subprocess.Popen(args=['python', 'selenium2.py'], stdout=sys.stdout)
我在 python 方面不是很有经验,我开始使用 Tkinter 构建应用程序。 就像它是一个 window 项目一样,我用 pythonw.exe 打开它,但它调用了一个控制台脚本,如果第一个脚本被隐藏,我就无法显示第二个脚本的控制台... 有一段代码调用第二个脚本:
from selenium_script import main
self.btn_downloadAnime = tk.Button(self.frm_addAnime, text='Lunch download script with voiranime.com links',
bg=self.colorBTN, font=22, activebackground=self.colorBG, height=2, width=50,
command=main)
这是您要找的吗:
main.py
:
import tkinter as tk
import subprocess
import sys
COMMAND = "start python selenium_script.py"
def start_new_proc():
proc = subprocess.Popen(COMMAND, close_fds=False, shell=True)
root = tk.Tk()
button = tk.Button(root, command=start_new_proc, text="Start new process")
button.pack()
root.mainloop()
selenium_script.py
:
user_input = input(">>> ")
print("You typed this: " + str(user_input))
input("Press enter to exit.")
我使用 subprocess.Popen
开始一个新进程。新进程以自己的shell开始(因为COMMAND
变量中的"start"
)
是的,我错过了过程的概念...... 以前的解决方案有效,我也找到了一个:
def open_selenium(self):
subprocess.Popen(args=['python', 'selenium2.py'], stdout=sys.stdout)