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

SQL Server 2022调用Python脚本获取文件夹文件列表异常排查

问题分析与解决方案

你的脚本核心问题是直接打印了os.walk()返回的生成器对象,而非遍历生成器提取实际的文件/文件夹信息。

os.walk()的返回值是一个生成器,它不会直接生成完整的文件列表,而是在遍历过程中逐次产生三元组(当前文件夹路径、子文件夹列表、文件列表)。直接打印生成器只会输出它的内存地址标识,无法展示实际的文件内容。

修正方案1:在Python脚本中打印所有文件路径

修改脚本,遍历生成器并输出每个文件的完整路径:

EXECUTE sp_execute_external_script 
  @language = N'Python', 
  @script = N'
import os
for root, dirs, files in os.walk(r''E:\Backups\''):
    for file in files:
        print(os.path.join(root, file))
'

修正方案2:将文件列表返回为SQL Server结果集

如果需要把文件列表作为查询结果返回给SQL Server,可以构造DataFrame并输出:

EXECUTE sp_execute_external_script 
  @language = N'Python', 
  @script = N'
import os
import pandas as pd

file_list = []
for root, dirs, files in os.walk(r''E:\Backups\''):
    for file in files:
        file_list.append(os.path.join(root, file))

df = pd.DataFrame(file_list, columns=["FullFilePath"])
OutputDataSet = df
'
WITH RESULT SETS ((FullFilePath NVARCHAR(MAX)));

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 23:02:36