2014-03-30 29 views
0
def listFiles(dir): 
    rootdir = dir 
     for root, subFolders, files in os.walk(rootdir): 
      for file in files: 
       yield os.path.join(root,file) 
     return 

    for f in listFiles(target): 
     if pattern in f: 
      os.rename(f,f.replace(pattern,'REPLACED')) 

更換隻是一個文件名我有一個文件,如:如何在文件路徑與模式

"C:\Dir3.30\file_3.30.xml" 

如果我做

os.rename(f,f.replace(pattern,'REPLACED')) 

兩個occurances將被替換。 我怎樣才能確保是文件名被替換

我想:

"C:\Dir3.30\file_REPLACED.xml" 

回答

1

拆分的文件名了與os.path.split(),呼籲str.replace()上只是名字,並重新加入:

path, name = os.path.split(f) 
os.rename(f, os.path.join(path, name.replace(pattern, 'REPLACED'))) 
相關問題