忽略Python listdi中的“系统卷信息”

2024-06-01 06:29:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试获取Windows卷上的所有文件,以便复制某些文件。从一个文件夹复制到另一个文件夹可以很好地工作,但是当尝试listdir,然后循环找到的卷文件时,我只收到一个“系统卷信息”的拒绝访问异常。你知道吗

我如何在循环中忽略/跳过这个?你知道吗

我使用了一个递归函数,第一次用卷本身的根路径调用它。你知道吗

def list_all(path):
files = os.listdir(path)

for file in files:
    low_path = os.path.join(path, file)

    if os.path.isdir(low_path):
        list_all(low_path)
    else:
        # shutil.copy()

Tags: 文件path路径文件夹信息oswindows系统
1条回答
网友
1楼 · 发布于 2024-06-01 06:29:19

您可以添加try/except

def list_all(path):
files = os.listdir(path)

try:
  files.remove("System Volume Information")
except:
  print("System Volume Information not present in this directory")


for file in files:
    low_path = os.path.join(path, file)

    if os.path.isdir(low_path):
        list_all(low_path)
    else:
        # shutil.copy()

相关问题 更多 >