2013-07-05 44 views
1

我想在python中運行我的測試用例時啓動並關閉image/pdf/word文件。我能夠成功啓動image/pdf/word文件。但是當我嘗試關閉同一個文件時,我無法做到這一點。 python是否支持關閉已啓動的文件?使用Python代碼關閉推出的圖像/ pdf文件

我的要求是,我必須通過計算機的計算機屏幕上的圖像通過計算機掃描計算機上的圖像,而計算機屏幕會在我的TESTCASE正在運行時顯示。

我可以啓動使用下面的命令文件:

import os 
from os import path 
os.system(path.join('C:\users\fakepath','image1.jpg')) 

如何關閉啓動的文件?

+6

你正在使用shell打開文件。這就像是把你的寶寶放在公共汽車上,然後詢問如何找回它 –

+0

你應該在網上搜索這個,例如, 「打開和關閉Python中的文件」或類似的東西。這是非常基本的! 'open()'打開文件,'f.close()'關閉它。或者使用'with,as:'塊。 – 2rs2ts

+0

@ 2rs2ts我的問題可能並不清楚,但我必須將隱藏在文件夾內的圖像放到屏幕的頂部。所以我的桌面應該打開文件並通過os.system(文件名)在屏幕上顯示它。一旦我完成了,我必須關閉它。爲此我發佈了一個問題。 – Venkatesh

回答

2

使用子代替:

import subprocess 
p = subprocess.Popen([path.join('C:\users\fakepath','image1.jpg')], shell=True) 
... 
#When you want the program to close 
p.kill() 

我不過提醒的是,你叫,你要打開的文件,而不是直接的程序使用shell = True。即:

subprocess.Popen(['path_to_adobe_reader', 'path_to_pdf_file']... 
5

使用上下文是首選的方法:

with open('filename','r') as f: 
    # do stuff with file 


#here, f will automatically be closed. 
+0

我想在屏幕上放一個圖像..不只是閱讀文件...這不適合我.. – Venkatesh