我需要使用python脚本修改一些文件,我认为操作系统步行是可行的方法。我需要修改
下的所有内容/foo/bar
/foo/baz
/foo/bat
....for example
我之前从未使用过os.walk,我读了一下它,我发现它从上到下遍历文件结构。但是,当我进行一些调试时,对象os.walk返回的是一个叫做生成器的东西,我不知道如何用这个对象修改文件。有谁知道如何使用pythons os.walk以自上而下的方式修改文件?示例,示例链接?
答案 0 :(得分:0)
import os
for root, dirs, files in os.walk('.'):
print root, dirs,files
答案 1 :(得分:0)
此示例执行您的要求(使用/tmp
,而不是/foo
):
import os
for top in ['/tmp/bar', '/tmp/baz', '/tmp/bat']:
for dirpath, dirs, files in os.walk(top):
for filename in files:
with open(os.path.join(dirpath, filename), 'a') as fp:
fp.write("Kilroy\n")
答案 2 :(得分:0)
您可以自上而下地走树,并在列表中收集文件名/路径以进行处理:
import os
dir = '/home/foo/Desktop'
def get_paths(dir):
paths = []
for root, dirs, files in os.walk(dir):
for file in files:
paths.append(os.path.join(root, file))
return paths
print get_paths(dir)