2013-09-19 6 views
0

я открыл временный файл со следующим кодом в Python:Как проверить, если файл закрыт или не

p=subprocess.Popen(tempFileName,shell=True) 

processId=p.pidcode 

Я хочу, чтобы удалить этот временный файл, если этот файл закрыт. Я хотел удалить файл с PiD процесса открытия, но проблема даже в том, что я закрываю этот файл pid все еще существует.

p=subprocess.Popen(tempFileName,shell=True) 
processId=p.pid 

Есть ли другие способы удалить этот временный файл?

+7

'Popen' не открывает временный файл. Он запускает внешнюю программу и предоставляет ссылки на ее стандартный ввод/вывод/ошибку. Тем не менее значение атрибута 'pid' не изменится просто потому, что процесс, который использовал этот идентификатор, завершился. – chepner

+2

Erm, 'subrocess.Popen' не открывает файл - проверьте [docs] (http://docs.python.org/2/library/subprocess.html#popen-constructor) – danodonovan

ответ

6

Почему бы не использовать tempfile? Он должен быть портативным и может удалять файлы, если вы не беспокоитесь об этом.

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