2017-11-19 1 views
-1

저는 파이썬 또한 영어를 배우고 있습니다. 그리고 나는 어려울 수있는 문제가 있지만 그것을 해결할 수는 없습니다. 나는이 .txt 년대의 폴더, 나는 정규 표현식에 의해 각 나라면의 일련의 숫자를 추출 할 수 있었다 나는 몇 가지 시퀀스 같은 문자가이름을 바꾸기 전에 문자를 제거하십시오.

import os 
import re 

path_txt = (r'C:\Users\usuario\Desktop\files') 

name_files = os.listdir(path_txt) 

for TXT in name_files: 
    with open(path_txt + '\\' + TXT, "r") as content: 
     search = re.search(r'(([0-9]{4})(/)(([1][9][0-9][0-9])|([2][0-9][0-9][0-9])))', content.read()) 
    if search is not None: 
     os.rename(os.path.join(path_txt, TXT), 
        os.path.join("Processos3", search.group(0) + "_" + str(random.randint(100, 999)) + ".txt")) 

된 .txt에서 추출 된 순서에 각 파일의 이름을 바꿀 필요가있다 "/"때문에 "이름 바꾸기"를 사용할 때이 문자 유형의 파일 이름을 바꿀 수 없기 때문에 오류가 반환됩니다. 파일의 이름을 바꾸기 전에 어떻게 "/"를 삭제합니까?

PS : 사용하여 파이썬 3

+0

왜'("/", "") '대신 사용하지? –

답변

0

이 시도 :

search = search.replace("/", "") 
관련 문제