gpt4 book ai didi

python - 再次运行 Python 脚本

转载 作者:太空宇宙 更新时间:2023-11-03 14:31:03 25 4
gpt4 key购买 nike

假设我有这个示例代码:

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()

关于python - 再次运行 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10775583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com