2012-06-05 65 views
1

我處理類似下面的文件夾層次:使用功能走在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 

但如何將輸出寫入位於兩步後退的文件夾中(即鹵素燈或惰性燈)。

回答

0

可以使用從正在處理這樣的目錄的相對路徑打開輸出文件:

for root, dirs, files in os.walk(path, '*.txt'): 
    out = open(os.path.join(root, '..', '..'), 'a') 
    out.write(...) 
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, '..', '..') 

會給你的文件夾路徑,兩步倒退