即使在subprocess.Popen中设置close_fds = True后,Python也会打开两次文件

时间:2017-01-19 14:02:34

标签: python python-2.7 subprocess popen

我在subprocess.Popen中使用close_fds = True但仍然打开文件两次。我搜索了很多,但我无法找到解决方案。

我想打开一个文件并截取它的截图。

 import os
    import pyscreenshot as ImageGrab
    import subprocess as sp
    import time

    def imagegrabber(x=0):
        if(x==1 and __name__ == '__main__'):
            # part of the screen
            im=ImageGrab.grab(bbox=(50,70,500,500))
            im.show()

        # to file
            ImageGrab.grab_to_file('im.png')
        return;

    def Dashboard(x=0):
        if(x==1):
            mcr = "D:/MCR/test.pbix"
            path = r'C:\Program Files\Microsoft Power BI Desktop\bin\PBIDesktop.exe'
            sp.Popen([path,mcr],close_fds=True)
            time.sleep(10)
            imagegrabber(1)
        return;

    Dashboard(1)

1 个答案:

答案 0 :(得分:0)

我只需在Dashboard功能中添加if(名称 ==' main ')而不是imagegrabber功能。休息一切都很好。