来自 StackOverflow 的一位非常聪明的人帮助我将文件从 Databricks 复制到此处的目录: copyfiles
我使用相同的原理在复制文件后删除文件,如链接所示:
for i in range (0, len(files)):
file = files[i].name
if now in file:
dbutils.fs.rm(files[i].path,'/mnt/adls2/demo/target/' + file)
print ('copied ' + file)
else:
print ('not copied ' + file)
但是,我收到错误:
类型错误:“/mnt/adls2/demo/target/”的类型错误 - 需要类 bool。
有人可以告诉我如何解决这个问题吗?我认为在最初使用命令 dbutils.fs.rm
最佳答案
如果要删除以下路径中的所有文件:'/mnt/adls2/demo/target/'
,有一个简单的命令:
dbutils.fs.rm('/mnt/adls2/demo/target/', True)
无论如何,如果您想使用您的代码,请查看 dbutils doc :
rm(dir: String, recurse: boolean = false): boolean -> Removes a file or directory
该函数的第二个参数应为 bool 值,但您的代码具有带路径的字符串:
dbutils.fs.rm(files[i].path, '/mnt/adls2/demo/target/' + file)
所以您的新代码可以如下:
for i in range (0, len(files)):
file = files[i].name
if now in file:
dbutils.fs.rm(files[i].path + file, True)
print ('copied ' + file)
else:
print ('not copied ' + file)
关于python - 使用 dbutils 在 Databricks 中上传后从目录中删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54091812/