繁体   English   中英

再次运行Python脚本

[英]Running Python Script Again

让我说我有这个示例代码:

import wx

app = wx.App(False)  # Create a new app, don't redirect stdout/stderr to a window.
frame = wx.Frame(None, wx.ID_ANY, "Hello World") # A Frame is a top-level window.
s=wx.Button(frame,-1,"New")
frame.Show(True)     # Show the frame.
app.MainLoop()

就像在某些程序中一样,如果按下“新建”按钮,它将在另一个窗口中再次打开程序。 我想知道,我怎么能在python中做到这一点?

我不能创建一个窗口对象,然后复制它,因为在我的实际程序中我使用全局变量,这些全局变量只用于一个窗口。

看来我唯一的选择就是找到一种再次运行程序的方法。

你可以尝试这样的事情

import subprocess
import sys
new_process = subprocess.Popen([sys.executable]+sys.argv)

哪个将使用最初运行的参数再次运行python。 或者修改原始示例以按下按钮再次运行脚本: -

import wx
import subprocess
import sys

def re_run(e):
    new_process = subprocess.Popen([sys.executable]+sys.argv)

app = wx.App(False)  # Create a new app, don't redirect stdout/stderr to a window.
frame = wx.Frame(None, wx.ID_ANY, "Hello World") # A Frame is a top-level window.
s=wx.Button(frame,-1,"New")
s.Bind(wx.EVT_BUTTON, re_run)
frame.Show(True)     # Show the frame.
app.MainLoop()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM