【问题标题】:How to open a window from the command line within a Python script?如何从 Python 脚本中的命令行打开一个窗口?
【发布时间】:2013-06-13 16:59:53
【问题描述】:

我正在编写一个 python 脚本来分析天文图像,并且我正在尝试在 python 脚本中打开一个 DS9 窗口(DS9 是一个允许交互式查看和分析图像的实用程序)。通常我会通过进入 Linux 终端并输入以下内容来打开 DS9:

>ds9 &

然后它会在另一个窗口中弹出。

我尝试通过编写以下代码在我的 python 脚本中模仿这一点:

os.system('ds9 &')

当我运行脚本时,DS9 窗口会弹出,但脚本的其余部分在我关闭 DS9 窗口之前不会运行。这给了我错误,因为随后的任务需要打开 DS9 窗口。

我想知道是否有办法从 python 脚本中打开一个窗口,并且仍然让脚本的其余部分继续运行。

也许:

os.system('ds9 &')

这不是正确的方法吗?

【问题讨论】:

    标签: python command-line window os.system


    【解决方案1】:

    您可以使用subprocess 模块。
    subprocess 是一种较新的生成进程的方法,而不是使用os.spawn*()os.system()

    在你的情况下:

    import subprocess
    subprocess.Popen(["ds9"])
    

    这应该在后台运行 ds9

    请参阅文档here

    【讨论】:

      猜你喜欢
      • 2015-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-30
      相关资源
      最近更新 更多