所以我试图通过使用ReadFile将文件读入文件缓冲区,但每次抛出此异常
我不明白为什么它有写入的访问冲突,文件确实存在,我可以在Visual Studio汽车观察中看到文件句柄,缓冲区和文件大小
import shutil
import os
cur_dir = os.getcwd() # current dir path
L = ['1442735516927', '1442209637226', '1474723762231', '1442735556057',
'1474723762187', '1474723762286', '1474723762255', '1474723762426',
'1474723762379', '1474723762805', '1474723762781', '1474723762936',
'1474723762911', '1474723762072', '1474723762163', '1474723762112',
'1442209642695', '1474723759389', '1442735566966']
list_dir = os.listdir(cur_dir)
dest = os.path.join(cur_dir,'/path/leadingto/merge_1')
for sub_dir in list_dir:
if sub_dir in LL:
dir_to_move = os.path.join(cur_dir, sub_dir)
shutil.move(dir_to_move, dest)
答案 0 :(得分:1)
documentation说明了最后两个参数:
lpNumberOfBytesRead [out,optional]
指向变量的指针,该变量接收使用同步hFile参数时读取的字节数。在进行任何工作或错误检查之前,ReadFile将此值设置为零。如果这是一个异步操作,请对此参数使用NULL,以避免可能出现错误的结果。
仅当lpOverlapped参数不为NULL时,此参数才为NULL。
所以应使用指向要写入的有效目标的指针来调用它,而不是NULL
:
DWORD outSize = 0;
ReadFile(hFile, FileBuffer, FileSize, &outSize, NULL);