首页 > 解决方案 > 如何在窗口关闭之前保持python脚本的执行?

问题描述

这是我的脚本:

import pyke
import matplotlib.pyplot as plt
from shutil import copyfile

class star:

    def __init__(self, path, name,definedaper=False):
        self.path=path
        self.name=name

        self.infile=path+name
        self.maskout = self.infile+'_maskout'

    def aperdef(self):
            plt.interactive(True)

            %matplotlib
            pyke.kepmask(self.infile)
            # WAIT HERE UNTIL MATPLOTLIB WINDOW CLOSED
            copyfile('maskfile.txt',self.maskout)


    def loadaper(self):
        with open('maskfile.txt') as f:
            maskfile = f.read()
        f.closed
        cords=maskfile.split("|")[5]
        cordlist=cords.split(";")

        cordlistmat=[]
        for index, line in enumerate(cordlist):
            cordlistmat.append(line.split(","))


def main():
    ourstar = star('/home/pal/konkoly/go10037/','ktwo201085427-c101_lpd-targ.fits')
    ourstar.aperdef() 

    ourstar.loadaper()


if __name__ == "__main__":
    main()

pyke.kepmask(self.infile)打开一个窗口,用户可以与之交互,并通过该窗口创建一个文件 maskfile.txt。我希望脚本不要去 copyfile('maskfile.txt',self.maskout)直到这个窗口关闭。我怎样才能做到这一点?比不断检查 maskfile.txt 是否存在更好的方法,如果不存在则等待?

我用于输入的文件在此ourstar = star('/home/pal/konkoly/go10037/','ktwo201085427-c101_lpd-targ.fits')可用: https ://github.com/zabop/starclass_pub/blob/master/ktwo201085427-c101_lpd-targ.fits

标签: python

解决方案


推荐阅读