我写了一个片段,它会自动将文件从源目录复制到 USB 上的路径。因为驱动器号名称是由独立于插槽的 PC 分配的,所以我想我会 GetLogicalDrives() 并且如果 USB 目录的路径在这些驱动器中的任何一个中,那么它会复制(我希望我有一些意义)。这是我用 Python 编写的一段代码:
import itertools, ctypes, string, sys, os.path, shutil
def drive_list():
drive_bitmask = ctypes.cdll.kernel32.GetLogicalDrives()
drive_list = list(itertools.compress(string.ascii_uppercase,
map(lambda x:ord(x) - ord('0'), bin(drive_bitmask)[:1:-1])))
return drive_list
for drive in drive_list():
path = drive + ":\\targer_directory\target_file.ext"
if drive not in ["C", "D", "E"]:
if os.path.exists(path) == True:
shutil.copy2(r'C:\source_directory\source_file.ext', path)
每当我运行这个脚本时,我都会收到一堆错误消息:
“异常处理消息 c0000013 参数 75b1bf7c 4 75b1bf7c 75b1bf7c”
我认为这可能意味着我的电脑中有一些“幽灵驱动器”。非常感谢绕过此行为的任何帮助。
注意:代码在最后运行并且复制作业成功完成,但直到错误消息被清除,如果我想执行自动备份,这不是目标。