如何递归查找文件然后执行代码

问题描述

所以我试图让这个脚本单独运行每个文件夹,然后执行数据解压缩代码。请参考我下面的代码

#!/usr/bin/env ruby
import zlib
import sys
import glob



if file in glob.iglob('**/*.data',recursive=True):

    data_file = sys.argv[1]

    data = open(data_file,"rb").read()
    deco = zlib.decompress(data)

    wrfd = open(data_file + ".dec","w")

    wrfd.write(deco.decode("utf8"))
    wrfd.close()
    print("Data {} decompressed to {}".format(data_file,data_file + ".dec"))

我做错了什么,因为当我执行它时,它没有显示完成;但没有从 .DATA 文件中解压。

解决方法

我认为您的代码中有两个问题

  1. 您应该使用 for 循环来遍历所有文件,而不是“if”条件
  2. 您应该使用“file”参数来读取文件,而不是从命令行接收的内容。

如果我的回答没有解决您的问题,请发布完整的代码。