2017-01-19 60 views
0

我在subprocess.Popen中使用close_fds = True,但仍然打開文件兩次。我搜索了很多,但我無法找到解決方案。甚至在設置close_fds = True之後,Python也會打開兩個文件。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

我不得不補充,如果( == '主要')在儀表板的功能,而不是在imagegrabber功能。休息一切都很好。

相關問題