2017-12-25 9 views
1

패턴이 year.month.day.hour.minute.second 인 6 개의 그룹으로 구분 된 이름을 가진 여러 텍스트 파일이 있습니다.여러 파일의 접미사 변경

텍스트 파일로 쉽게 열 수 있도록이 파일에 .txt 접미사를 추가하고 싶습니다.

나는 다음 코드를 시도하고 나는 내가 성공하지 os.rename로 시도 :

질문이 파일 이름의 끝에

어떻게 추가 할 수 있습니다 .txt?

path = os.chdir('realpath') 

for f in os.listdir(): 

file_name = os.path.splitext(f) 
name = file_name +tuple(['.txt']) 
print(name) 

답변

2

당신은 스크립트에서 많은 문제가있다. 사용하기 전에 각 메소드의 문서를 읽어야합니다. 여기에 실수 중 일부입니다 :

  • os.chdir('realpath')은 - 당신이 정말로 reapath 디렉토리로 이동 하시겠습니까?
  • os.listdir(): - 인수가 누락되면 listdir 경로를 입력해야합니다.
  • print(name) - 실제로 파일 이름을 바꾸지 않고 새 파일 이름을 인쇄합니다. 여기

는 이름의 숫자 6 개 그룹으로 만들어진 파일을 찾을 수있는 정규 표현식을 사용하는 스크립트입니다 현재 디렉토리 (사용자의 패턴 year.month.day.hour.minute.second에 해당), 다음 os.rename로 그 파일에 .txt 접미사를 추가합니다

import os 
import re 
regex = re.compile("[0-9]+[.][0-9]+[.][0-9]+[.][0-9]+[.][0-9]+[.][0-9]+") 
for filename in os.listdir("."): 
    if regex.match(filename): 
     os.rename(filename, filename + ".txt") 
+0

답변으로 표시되어야합니다 – Itamar

+0

나는 당신의 조언도 잘 돌볼 것입니다. 감사합니다. FileNotFoundError : [Errno 2] 해당 파일이나 디렉토리가 없습니다 : '2017.12.22.12.19.29. -> '2017.12.22.12.19.29.txt'디렉토리에 파일이 있어도 찾을 수 없다고 말했습니다 @RonanBoiteau – newpyguy