我想在一个文件中进行一些更改。为此,我正在做一个临时文件,在其中写入所有需要的更改的内容,最后,我尝试用此临时文件替换原始文件。
临时文件已创建,看起来像我预期的那样,但是替换操作不起作用。
这是我的代码失败:
with tempfile.NamedTemporaryFile(mode='w', prefix=basename, dir=dirname, delete=False) as temp, open(file_path, 'r') as f:
for line in f:
temp.write(line + " test")
os.replace(temp.name, file_path)
但这给我一个错误:
PermissionError:[WinError 32]该进程无法访问文件,因为它正在被另一个进程使用
我对“替换”功能的使用是否错误?
您的命令os.replace(temp.name,file_path)必须与with一起使用。
with tempfile.NamedTemporaryFile(mode='w', prefix=basename, dir=dirname, delete=False) as temp, open(file_path, 'r') as f:
for line in f:
temp.write(line + " test")
os.replace(temp.name, file_path)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句