2017-01-19 4 views
0

Я использую close_fds = True в subprocess.Popen, но все же его открытие файла дважды. Я много искал, но я не могу найти решение для этого.Python открывает файл дважды даже после настройки close_fds = True в subprocess.Popen

Я хочу открыть файл и сделать снимок экрана.

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) 
+0

Можете ли вы объяснить, что вы видите, что заставляет вас сказать, что он дважды открывает файл? – glibdud

+0

Сила BI открывается, и через несколько секунд появляется всплывающее окно, в котором говорится: «D: /MCR/test.pbix не открывается, поскольку он уже открыт». –

+0

Глупый вопрос, но есть ли у вас этот файл в редакторе или что-то еще, пока вы пытаетесь его запустить? – glibdud

ответ

0

Я просто должен был добавить, если (имя == 'главный') в функции Dashboard, а не в функции ImageGrabber. Отдых все в порядке.

Смежные вопросы