파 이 썬 은 폴 더 에 있 는 파일 이름 을 대량으로 조작 합 니 다.
인터넷 에서 일부 과정 자 료 를 내 렸 는데 파일 이름 에 작은 광고 가 붙 어 있 는 것 을 발견 했다. 파일 을 읽 을 때 번 거 로 우 면 작은 프로그램 을 써 서 대량으로 처리 하려 고 했다.
파일 이름 앞 에 지정 한 텍스트 추가
먼저 os. listdir () 함 수 를 이용 하여 선택 한 폴 더 의 디 렉 터 리 를 가 져 오고 폴 더 인지 여 부 를 판단 합 니 다. 폴 더 가 아니면 Olddir 에 저장 한 다음 Olddir 를 옮 겨 다 니 며 os. path. splitext () 함 수 를 사용 하여 선택 한 폴 더 의 파일 이름과 파일 접미사 이름 을 각각 저장 하여 후속 파일 이름 수정 작업 을 진행 합 니 다. 다음은 파일 이름 앞 에 지정 한 문 자 를 추가 합 니 다.그래서 Newdir 에 저 장 된 것 은 (text + filename + filetype) 입 니 다. 이것 은 추 가 된 새로운 파일 이름 입 니 다. 마지막 으로 os. rename () 함 수 를 호출 하여 이름 을 바 꾸 면 됩 니 다.
#
def fore_add():
text = text_entry.get()
#
filelist = os.listdir(path)
for files in filelist:
Olddir = os.path.join(path, files)
#
if os.path.isdir(Olddir):
continue
#
filename = os.path.splitext(files)[0]
#
filetype = os.path.splitext(files)[1]
Newdir = os.path.join(path, text + filename + filetype)
#
os.rename(Olddir, Newdir)
파일 이름 뒤에 지정 한 텍스트 추가
파일 이름 앞 에 지정 한 문 자 를 추가 하 는 것 과 차이 가 많 지 않 습 니 다. 바로 Newdir 의 내용 이 약간 바 뀌 었 습 니 다. 즉, (filename + text + filetype) 다른 작업 과 일치 합 니 다.
#
def end_add():
text = text_entry.get()
filelist = os.listdir(path)
for files in filelist:
Olddir = os.path.join(path, files)
if os.path.isdir(Olddir):
continue
filename = os.path.splitext(files)[0]
filetype = os.path.splitext(files)[1]
Newdir = os.path.join(path, filename + text + filetype)
os.rename(Olddir, Newdir)
파일 이름 에 지정 한 텍스트 삭제
파일 이름 에 지정 한 문 자 를 추가 하 는 것 보다 파일 이름 에 지정 한 문 자 를 삭제 해 야 합 니 다. 문자열 이 있 는 *. replace () 방법 이나 정규 표현 식 의 re. sub () 방법: replace (): replace (...) method of builtins. str instance S. replace (old, new [, count]) - > str 두 개의 필수 매개 변수 old 와 new 는 각각 교체 할 텍스트 와 교체 할 텍스트 입 니 다.삭제 하려 면 '빈 문자' 로 하면 됩 니 다. 세 번 째 매개 변 수 는 count 가 선택 할 수 있 는 매개 변수 즉 교체 횟수 입 니 다.문자열 의 방법 을 사용 하 는 것 외 에 re 정규 표현 식 라 이브 러 리 를 사용 하여 도 가능 합 니 다.re. sub () 방법 을 사용 합 니 다. sub (pattern, repl, string, count = 0, flags = 0) pattern 은 지정 한 모드 를 대표 합 니 다. 지정 한 텍스트 에 대해 서 는 지정 한 문 자 를 매개 변수 로 직접 사용 할 수 있 습 니 다.repl 은 바 꿔 야 할 문자 입 니 다. 삭제 하려 면 빈 문자 입 니 다.string 은 바 꿔 야 할 문자열 을 대표 합 니 다.count 는 선택 가능 한 매개 변수 입 니 다. replace () 와 마찬가지 로 교체 횟수 를 말 합 니 다.Tips: Python 문자열 이 가지 고 있 는. replace () 방법 이 든 re 가 제공 하 는. sub () * 방법 이 든 원래 문자열 을 바 꾸 지 않 습 니 다. 반환 값 만 바 꾸 는 문자열 입 니 다.따라서 바 뀐 문자열 을 사용 하려 면 반환 값 을 변수 에 할당 해 야 합 니 다.
#
def delete_words():
text = text_entry.get()
#
filelist = os.listdir(path)
for files in filelist:
Olddir = os.path.join(path, files)
#
if os.path.isdir(Olddir):
continue
#
filename = os.path.splitext(files)[0]
#
print(filename)
filename = re.sub(text, '', filename)
print(text)
print(filename)
#
filetype = os.path.splitext(files)[1]
Newdir = os.path.join(path, filename + filetype)
#
os.rename(Olddir, Newdir)
파일 이름 목록 가 져 오기 및 txt 파일 쓰기
이전에 가 져 온 파일 이름 목록 을 문자열 에 형식 대로 저장 하고 숫자 를 기록 할 count 를 추가 하여 숫자 를 기록 하고 통 계 를 조금 만 합 니 다.여기에 서 는 각 파일 이름 을 문자열 에 저장 한 다음 덮어 쓰기 모드 를 사용 합 니 다. 순환 목록 은 같은 폴 더 가 여러 번 실 행 된 후에 중복 되 는 것 을 방지 하기 위해 서 입 니 다.파일 을 열 었 을 때 파일 을 제때에 닫 는 것 을 주의해 야 합 니 다. with 문 구 를 사용 하 는 것 을 권장 합 니 다. with 블록 이 끝나 거나 오류 가 발생 하면 시스템 은 자동 으로 파일 을 닫 습 니 다.
# txt
def file_name2txt():
#
count = 0
filelist = os.listdir(path)
txt = ''
# with , with ,
with open(str(path) + '/File_List.txt', 'w') as reader:
for file in filelist:
if os.path.isdir(file):
continue
txt = txt + file + '
'
count += 1
txt = txt + '* ' + str(count) + '
'
reader.write(txt)
코드 다운로드 링크: 폴 더 내 파일 일괄 작업 프로그램 은 파일 이름 앞 / 뒤에 지정 한 문 자 를 추가 하거나 지정 한 문 자 를 삭제 하 는 데 사 용 됩 니 다. tkinter 가 만 든 간단 한 인터페이스 입 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.