Python shutil.copy验证了吗?
Python中的shutil.copy-command有一个返回值:它“返回新创建文件的路径”。这是否意味着复制的文件已被验证?Python shutil.copy验证了吗?,python,copy,Python,Copy,Python中的shutil.copy-command有一个返回值:它“返回新创建文件的路径”。这是否意味着复制的文件已被验证? 您好,斯特劳克shutil。复制不会验证复制。它生成文件名,打开源和目标,复制数据并关闭文件。它不会在写入后验证文件名,也不应该验证。某些实体在不影响现有读写器的情况下移动打开的文件是完全合法的 它关闭将数据刷新到操作系统文件系统缓存的文件,但不验证文件是否已写入磁盘。电源故障会导致数据丢失 它也不会重新读取数据以确保写入了正确的字节。目标不是以独占方式打开的,因此从
您好,斯特劳克
shutil。复制
不会验证复制。它生成文件名,打开源和目标,复制数据并关闭文件。它不会在写入后验证文件名,也不应该验证。某些实体在不影响现有读写器的情况下移动打开的文件是完全合法的
它关闭将数据刷新到操作系统文件系统缓存的文件,但不验证文件是否已写入磁盘。电源故障会导致数据丢失
它也不会重新读取数据以确保写入了正确的字节。目标不是以独占方式打开的,因此从技术上讲,其他进程可以打开并写入同一文件。当然,这种可能性很小。一般来说,操作系统的任务是确保写入正确的位。您想进行哪种验证?说一个文件已被验证是没有意义的。您可以验证文件的内容。需要什么级别的验证?shutil.copy关闭文件并返回用于打开文件的名称。文件可能在打开和关闭后被移动、重命名或取消链接(在linux系统上)。我的意思是物理检查复制操作是否正常。@Strawk-关闭文件保证数据进入操作系统缓存,而不是物理磁盘,因此仍有可能出现断电或驱动器故障。但操作系统通常擅长以正确的顺序将正确的内容放入磁盘。shutil只是认为一切都是可行的。您可以自己进行校验和运算,稍后通过重新打开文件进行验证。