2017-01-19 1 views
0

Ich benutze close_fds = True in subprocess.Popen, aber immer noch das Öffnen der Datei zweimal. Ich habe viel gesucht, aber dafür kann ich keine Lösung finden.Python öffnet eine Datei zweimal, selbst nach dem Aufstellen close_fds = True in subprocess.Popen

Ich möchte eine Datei öffnen und einen Screenshot davon machen.

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

Können Sie erklären, was Sie sehen, dass Sie sagen, dass es die Datei zweimal öffnet? – glibdud

+0

Das Power-BI öffnet sich und nach einigen Sekunden erscheint ein Popup-Fenster mit der Meldung "D: /MCR/test.pbix kann nicht geöffnet werden, da es bereits geöffnet ist". –

+0

Dumme Frage, aber haben Sie diese Datei in einem Editor oder etwas geöffnet, während Sie versuchen, dies auszuführen? – glibdud

Antwort

0

Ich hatte gerade ( == name 'Haupt'), wenn in Dashboard-Funktion und nicht in ImageGrabber Funktion hinzuzufügen. Ruhe alles ist gut.

Verwandte Themen