我有以下代码:
import os import sys import tempfile import subprocess with tempfile.NamedTemporaryFile('w+') as f: if sys.platform == 'linux': subprocess.call('vim', f.name) elif sys.platform == 'nt': os.system(f.name)
它foobar.txt
可以vim
在Linux上使用,也可以在Windows上使用默认编辑器打开.在Linux上它工作正常:tempfile.NamedTemporaryFile()
创建一个临时文件并vim
打开它.但是,在Windows上,系统说:
该进程无法访问该文件,因为该文件正由另一个进程使用.
我想这是因为脚本当前正在使用该文件.
为什么它适用于Linux,如何让它在Windows上运行?