2013-06-05 2 views
0

확장자가 '.test.txt'인 파일을 '.txt'로 변경하고 싶습니다. 아래 코드는 'if'대신 잘못된 구문이 사용 된 경우 작동하지 않습니다. 알아 내 주시겠습니까? 정말 고마워요.파일 이름 바꾸기

import sys 
import os 

path = "Dir" 
for(dirpath,dirnames,files)in os.walk(path): 
    for filename in files: 
      filepath = os.path.join(dirpath,filename) 
    if '.test.txt' in filename: 
      newfilename = filename.replace('.test.txt','.txt') 
      os.rename(filename,newfilename) 
+1

귀하의 들여 쓰기에 꺼져 그 점은 ... – mgilson

+0

이 들여 쓰기가 원래의 들여 쓰기와 일치합니까? 당신의'if '는'filepath = ...'줄 아래에서 들여 쓰기되어야합니다. – marlenunez

+0

적어도 윈도우에서는'ren * .test.txt * .txt'로 이것을 할 수 있습니다 (다른 OS의 경우 –

답변

1

이 작동합니다 ...

import sys 
import os 

path = r"Dir" 
for dirpath,dirnames,files in os.walk(path): 
    for filename in files: 
     filepath = os.path.join(dirpath,filename) 
     if '.test.txt' in filename: 
      newfilename = filename.replace('.test.txt','.txt') 
      newfilepath = os.path.join(dirpath, newfilename) 
      os.rename(filepath, newfilepath) 

조치를 이름 바꾸기 당신이 전체 파일 경로를 제공해야 새 파일 경로를 정의하지 않았다 os.rename(src_path, dest_path)