2013-04-24 72 views
0

我想刪除在同一根目錄中的不同子目錄中退出的文件的第一行和最後一行。並且代碼如下刪除不同目錄中的文件行

import fileinput 
import sys 
import os 
path = "./rootDire" 
for(dirpath,dirnames,files) in os.walk(path): 
    f = open(file,'r') 
    lines = f.readlines() 
    f.close() 
    f = open(file,'w') 
    f.writelines(lines[1:-2]) 
    f.close() 

但是,當它找到該文件時,發生錯誤說沒有找到該文件。

+0

你能後的回溯?如果你沒有指定錯誤是什麼,只是說有一個錯誤不是很有幫助。 – 2013-04-24 11:04:16

+0

rootDire [ 'Dire1', 'Dire2', 'Dire3', 'Dire4', 'Dire5'] rootDire/Dire1 [] 回溯(最近通話最後一個): 文件 「RemoveLines.py」,13號線,在 F =打開(文件,'r') IOError:[Errno 2]沒有這樣的文件或目錄:'file1.txt'。事實上,文件* file1.txt *已被發現似乎不被讀取。謝謝 – 2013-04-24 11:15:45

+2

你說「f = open(file,'r')」。什麼是「文件」? BTW「文件」是一個BIF,你不應該覆蓋它。 – dugres 2013-04-24 11:25:22

回答

0

糾正我,如果它不工作:

import fileinput 
import sys 
import os 
path = "./rootDire" 
for(dirpath,dirnames,files) in os.walk(path): 
    for filename in files: 
     filepath = os.path.join(dirpath, filename) 
     f = open(filepath,'r') 
     lines = f.readlines() 
     f.close() 
     f = open(filepath,'w') 
     f.writelines(lines[1:-2]) 
     f.close() 
+0

不錯!它現在可以工作了,非常感謝! – 2013-04-24 20:12:32