使用 os.walk 修改 python 中的文件

modifying a file in python using os.walk

我有一个包含子目录列表的父目录。这些子目录中的每一个都包含一个名为 data.json 的文件。我想遍历所有子目录并对 data.json 文件进行一些编辑操作。我如何实现这一目标?目前我正在做以下事情:

  for dir,dirs, files in os.walk("."):
        for filename in files:
            if file == 'data.json':
             with open(file, 'r') as f:
             #carry out editing operation

但我没有看到任何编辑发生。我怀疑没有找到 data.json 文件。

首先您需要使用完整路径正确访问您的文件:

for path, subdirs, files in os.walk("."):
    for filename in files:
        if filename == 'data.json':
            fullpath = os.path.join(path, filename)

然后以你想要的模式打开它,你包含的那个是read:

with open(fullpath, 'r') as f:
    ...

详细了解 open() here 的模式。