You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何打开新CMD窗口并自动调用原Python脚本中的方法?

解决方案

要在新CMD窗口中调用原脚本的hello()方法,核心是让新窗口启动独立的Python进程来执行目标函数——因为新CMD窗口是独立进程,无法直接共享原Python进程中的函数和变量。以下是两种可行的实现方式:

方法一:直接在新窗口执行内嵌代码

通过python -c参数将hello()的定义、全局变量和调用逻辑直接传入新窗口的Python解释器:

import os

def hello():
    print(say_hello)

say_hello = 'hello'

# 构造CMD命令:启动新窗口并执行Python代码
cmd_cmd = f'start cmd.exe /k "python -c \"say_hello = \'{say_hello}\'; def hello(): print(say_hello); hello()\""'
os.system(cmd_cmd)

关键说明:

  • /k:让CMD执行命令后保持窗口打开(若执行后需自动关闭,替换为/c)
  • 多层引号需用反斜杠\转义,避免CMD解析出错

方法二:导入原脚本调用函数

如果你的代码保存在独立脚本文件(比如test.py)中,可让新窗口直接导入该脚本并调用函数,更简洁易维护:

import os
import sys

def hello():
    print(say_hello)

say_hello = 'hello'

# 获取当前脚本所在目录,确保Python能找到导入的脚本
script_path = os.path.dirname(os.path.abspath(sys.argv[0]))
# 构造命令:切换到脚本目录,再执行导入和调用
cmd_cmd = f'start cmd.exe /k "cd /d {script_path} && python -c \"import test; test.hello()\""'
os.system(cmd_cmd)

注意事项:

  • 脚本文件名需和import后的名称一致(比如脚本叫test.py,就用import test)
  • 若脚本不在Python默认搜索路径中,必须先切换到脚本所在目录(用cd /d命令)

内容的提问来源于stack exchange,提问作者Santos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 14:53:14