2

我读过有一种方法可以用..在python中打开文件

os.startfile('file.exe')

有没有办法在打开时关闭同一个文件?

先感谢您!

4

2 回答 2

1

os.startfile() 文档

startfile() 会在关联的应用程序启动后立即返回。没有等待应用程序关闭的选项,也没有办法检索应用程序的退出状态。

所以,基本上,不,没有办法关闭用startfile.

从问题中不清楚您是要启动文件还是打开文件(用于读/写)。

如果您想启动一个进程,子进程是运行其他进程并通过子shell控制它们(包括杀死它们)的更好选择。

如果你想打开一个文件进行读/写,那么open()将是一个不错的选择。

于 2013-04-15T21:59:04.307 回答
0

正如 Python Wiki 所说,此函数执行以下操作:

启动一个文件及其关联的应用程序。

所以最好的办法是用来os.kill杀死打开它的应用程序。问题在于识别与以下扩展名的文件相关联的应用程序并找到打开该文件的确切实例的 pid。

您在示例中使用了 .exe 文件,它是可执行文件扩展名,因此您可能误解了该函数的作用。你想达到什么目的?你确定这是正确的做法吗?

如果你真的想启动可执行文件,你可能应该使用os.system(). 如果你想创建一个新文件,在里面写一些东西然后关闭它,寻找python文件操作,这里有很好的例子:http ://www.tutorialspoint.com/python/python_files_io.htm

于 2013-04-15T21:55:40.377 回答