在python中使用walk函数

时间:2012-06-05 18:22:33

标签: python

我正在处理如下文件夹层次结构:

c:/users/rox/halogen/iodine/(some .txt files)
c:/users/rox/halogen/chlorine/(some .txt files)
c:/users/rox/inert/helium/(some .txt files)
c:/users/rox/inert/argon/(some .txt files)

现在我正在使用os.walk遍历文件夹并处理文件 但问题是,如果我想在分析卤素下的所有子文件夹后生成分析输出到'卤素'文件夹那么我该怎么办... 我正在使用:

for root,dirs,files in os.walk(path,'*.txt):
    .....
    .......[processing file]
    out.write(.....)    # writing output in the folder which we are analyzing

但是如何将输出写入两步后面的文件夹(即卤素或惰性)..

2 个答案:

答案 0 :(得分:2)

在步行前打开输出文件。

out = open(os.path.join(path, outputfilename), 'w')

然后走路处理输入

for root,dirs,files in os.walk(path,'*.txt):
    .....
    out.write(..)

这样您就已经知道了根路径。否则,如果你确定你的路径只是后退两步。

os.path.join(current_path, '..', '..')

将为您提供文件夹路径,向后两步

答案 1 :(得分:0)

您可以使用您正在处理的目录中的相对路径打开输出文件:

for root, dirs, files in os.walk(path, '*.txt'):
    out = open(os.path.join(root, '..', '..'), 'a')
    out.write(...)