Google/StackOverflow에서 코드를 둘러보기 위해 잘못된 단어를 사용하고있는 것 같습니다.Python과 함께 존재하는 파일의 이름 바꾸기
저는 (다른 것들 중에서) 많은 파일을 움직이는 스크립트를 만들고 있습니다.
파일 이름을 확장자로 분리하고 파일이 디렉토리에 이미있는 경우 Filename + (Duplicate) + Extension을 추가하는 작은 행이 있습니다.
그러나 본질적으로 (복제), (복제 1), (복제 2), (복제 3) 등의 간단한 단일 라이너가 있어야합니다. 파일에 현재 번호가있는 경우 숫자를 다음 숫자로 변경).
나 자신을 알아 내기에 너무 어리 석다는 간단한 해결책은 무엇입니까?
죄송합니다. 내 현재 코드가 사람들이 내 질문에 대답하는 데 도움이 될 수 있다고 생각하지 않았습니다. 내가 파일 이름과 확장자를 (기본적으로 그냥 RAR 부품 및 일부 폴더 문제를 해결하기 위해) 얻기의 약간 변형 된 방법을 사용했습니다
def destination(self, f): return os.path.abspath('.')+'/'+self.filename(f)+'/'+self.filename(f)+' (Duplicate)'+self.extension(f) if and os.path.isfile(os.path.abspath('.')+'/'+self.filename(f)+'/'+f) else os.path.abspath('.')+'/'+self.filename(f)+'/'+f
. 하지만 'self.filename (f)와 self.extension (f)는 기본적으로 os.splittext (f) [0]과 os.splittext (f) [1]입니다.
당신이 이미 가지고 있지-간단한 충분한 해결책은 무엇인가? –
@Robin Hood ** 파일 회전 **은 당신이 말하는 용어 일 수 있습니다. 파이썬에서는 [로깅] (http://docs.python.org/library/logging.html) 모듈을 사용하여 파일 순환을 설정하므로 로깅 모듈이이를 처리합니다. 로깅 (및 결과 파일 순환) 구성을 설정하는 데 도움이되는 [this] (http://stackoverflow.com/questions/4654915/rotate-logfiles-each-time-the-application-is-started-python)을 발견했습니다. 파일 이름을 수동으로 바꾸거나 (또는 * rotate *) * one * 라이너에 대해 확신하지 못합니다. –
내가 명확하지 않다면 미안합니다. 문제는 내 솔루션이 충분히 간단하지 않다는 것이 아닙니다. 단지 내 솔루션이 하나의 복제 만 처리 할 수 있으며, 두 가지를 수행 할 수있는 유일한 방법입니다. 기본적으로 'Duplicate 1'과 동일한 코드 블록을 추가하고 정규 및 'Duplicate'를 모두 확인합니다. 완전히 우스꽝스럽고 매우 길고 본질적으로 끝날 수있는 코드를 확인합니다. 얼마나 많은 이들이 내가 추가하기로 결정했는지에 따라 제한됩니다. –