【发布时间】:2013-04-15 21:52:08
【问题描述】:
我读到有一种方法可以在 python 中打开文件。
os.startfile('file.exe')
有没有办法在打开时关闭同一个文件?
提前谢谢你!
【问题讨论】:
我读到有一种方法可以在 python 中打开文件。
os.startfile('file.exe')
有没有办法在打开时关闭同一个文件?
提前谢谢你!
【问题讨论】:
startfile() 在相关应用程序启动后立即返回。没有等待应用程序关闭的选项,也没有办法检索应用程序的退出状态。
所以,基本上,不,没有办法关闭用startfile 打开的文件。
问题并不清楚您是要启动一个文件,还是打开它(用于读/写)。
如果您想启动一个进程,则 subprocess 是运行其他进程并通过子 shell 控制它们(包括杀死它们)的更好选择。
如果您想打开一个文件进行读/写,那么open() 将是一个不错的选择。
【讨论】:
正如 Python Wiki 所说,此函数执行以下操作:
使用关联的应用程序启动文件。
所以最好的办法是使用os.kill 杀死打开它的应用程序。问题在于识别与以下扩展名的文件相关联的应用程序并找到打开该文件的确切实例的 pid。
您在示例中使用了 .exe 文件,它是可执行文件扩展名,因此您可能误解了该函数的作用。你想达到什么目的?你确定这是正确的做法吗?
如果你真的想启动可执行文件,你应该使用os.system()。如果你想新建一个文件,在里面写点东西然后关闭,寻找python文件操作,这里有很好的例子:http://www.tutorialspoint.com/python/python_files_io.htm
【讨论】: