我试图使用'tempfile'模块来操作和创建文本文件.文件准备好后,我想将其保存到磁盘.我认为这就像使用'shutil.copy'一样简单.但是,我得到'权限被拒绝'IOError:
>>> import tempfile, shutil
>>> f = tempfile.TemporaryFile(mode ='w+t')
>>> f.write('foo')
>>> shutil.copy(f.name, 'bar.txt')
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
shutil.copy(f.name, 'bar.txt')
File "C:\Python25\lib\shutil.py", line 80, in copy
copyfile(src, dst)
File "C:\Python25\lib\shutil.py", line 46, in copyfile
fsrc = open(src, 'rb')
IOError: [Errno 13] Permission denied: 'c:\\docume~1\\me\\locals~1\\temp\\tmpvqq3go'
>>>
Run Code Online (Sandbox Code Playgroud)
这是不是在使用'tempfile'库时?有一个更好的方法吗?(也许我忽略了一些非常微不足道的事情)
我正在编写一个python脚本,它在Linux上使用shutil.copyfile()复制文件.在复制过程中,其他进程可能正在尝试读取该文件.以下内容是否足以确保外部进程不会损坏文件?
os.unlink(dest)
shutil.copyfile(src, dest)
Run Code Online (Sandbox Code Playgroud)
也就是说,是shutil.copyfile()原子,以便其他进程在复制操作完成之前无法读取目标文件?