You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python获取磁盘所有文件(不含文件夹)及现有代码调整

Windows下Python获取全磁盘文件(过滤文件夹)调整方案

核心调整点

  • 原有os.listdir()仅能获取目标路径下的一级内容,且不会区分文件/文件夹,替换为os.walk()可以递归遍历所有子目录,同时原生拆分出当前目录下的文件夹、文件两类对象
  • 补充非Windows系统下的直接退出逻辑,避免后续执行报错
  • 拼接根路径和文件名生成文件的绝对路径,方便后续直接使用

调整后完整代码(递归扫描全磁盘所有文件)

import os

# 非Windows系统直接提示退出
if os.name != "nt":
    print("Sorry this script works only on Windows!")
    exit()

# 要扫描的磁盘根路径
root_path = "C:\\"
all_files = []

# 递归遍历所有目录
for dirpath, dirnames, filenames in os.walk(root_path):
    # filenames已经是当前目录下的所有非文件夹文件,直接拼接绝对路径
    for filename in filenames:
        full_file_path = os.path.join(dirpath, filename)
        all_files.append(full_file_path)

# 输出所有文件路径,可根据需要修改后续处理逻辑
for file in all_files:
    print(file)

可选方案(仅扫描目标路径一级文件,不遍历子目录)

如果不需要扫子目录里的文件,仅过滤目标路径下的一级文件,可以用os.path.isfile()做判断,代码示例:

import os

if os.name != "nt":
    print("Sorry this script works only on Windows!")
    exit()

path = "C:\\"
dir_list = os.listdir(path)
# 过滤仅保留文件
only_files = [f for f in dir_list if os.path.isfile(os.path.join(path, f))]
print(only_files)

内容的提问来源于stack exchange,提问作者Natan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 19:54:03