我们正在按照以下步骤复制,移动文件:
1)使用系统提供的函数复制File(),MoveFile()
2)使用打开文件
soup = BeautifulSoup(urllib.request.urlopen(url))
for tag in soup.select(".table-responsive table tr td:nth-of-type(5) span"):
tag = str(tag)
print (tag)
3)使用hFile = CreateFile(
FilePath,
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL
);
将缓存刷新到磁盘。
添加了第2步和第3步,因为我们遇到了文件损坏问题,因为Windows函数CopyFile(),MoveFile()使用了系统缓存,并引入了在物理设备上写入文件的延迟。
在使用FlushFileBuffers()之后,我们以某种方式将文件损坏的发生率降至最低。 但是几乎没有其他类似的东西:
因此,我需要帮助来确定我遵循的流程是否正确,或者我应该考虑其他选择以确保文件的一致性。
任何帮助表示感谢,并感谢高级帮助
答案 0 :(得分:0)
考虑使用Windows的事务文件系统(TxF)功能,它将为您提供所需的一致性和原子性。您需要使用事务文件I / O WIN32API方法,而不是常规方法。
否则,您需要自己照顾一致性。