[python] Python을 사용하여 파일 이름을 바꾸는 방법

나는 변경할 a.txtb.kml.



답변

사용 os.rename:

import os

os.rename('a.txt', 'b.kml')


답변

파일이 디렉토리 안에있을 수 있습니다.이 경우 경로를 지정하십시오.

import os
old_file = os.path.join("directory", "a.txt")
new_file = os.path.join("directory", "b.kml")
os.rename(old_file, new_file)


답변

import shutil

shutil.move('a.txt', 'b.kml')

파일 이름을 바꾸거나 파일을 이동하는 데 사용됩니다.


답변

파이썬 3.4 부터 pathlib 모듈을 사용하여 이를 해결할 수 있습니다 .

이전 버전 인 경우 여기에 있는 백 포트 버전을 사용할 수 있습니다.

루트 경로에 있지 않다고 가정하고 이름을 바꾸려는 전체 경로를 제공해야한다고 가정 해 보겠습니다.

some_path = 'a/b/c/the_file.extension'

따라서 경로를 가져 와서 Path객체를 만들 수 있습니다 .

from pathlib import Path
p = Path(some_path)

우리가 지금 가지고있는이 개체에 관한 정보를 제공하기 위해, 우리는 그 개체를 추출 할 수 있습니다. 예를 들어 파일 이름을에서 the_file로 수정하여 파일 이름을 바꾸려는 경우 파일 the_file_1이름 부분을 가져올 수 있습니다.

name_without_extension = p.stem

그리고 여전히 확장을 손에 쥐십시오.

ext = p.suffix

간단한 문자열 조작으로 수정을 수행 할 수 있습니다.

파이썬 3.6 이상은 f- 문자열을 사용합니다!

new_file_name = f"{name_without_extension}_1"

그렇지 않으면:

new_file_name = "{}_{}".format(name_without_extension, 1)

이제 rename생성 한 경로 객체 에서 메소드를 호출하고 ext원하는 올바른 이름 바꾸기 구조를 완성하기 위해 를 추가하여 이름 바꾸기를 수행 할 수 있습니다 .

p.rename(Path(p.parent, new_file_name + ext))

더 간단하게 단순성을 보여주기 위해 :

파이썬 3.6 이상 :

from pathlib import Path
p = Path(some_path)
p.rename(Path(p.parent, f"{p.stem}_1_{p.suffix}"))

Python 3.6보다 작은 버전은 대신 문자열 형식 메소드를 사용합니다.

from pathlib import Path
p = Path(some_path)
p.rename(Path(p.parent, "{}_{}_{}".format(p.stem, 1, p.suffix))


답변

os.rename(old, new)

이것은 파이썬 문서에서 찾을 수 있습니다 : http://docs.python.org/library/os.html


답변

사용하십시오 os.rename. 그러나 두 파일의 전체 경로를 함수에 전달해야합니다. a.txt바탕 화면에 파일이 있으므로 이름을 바꾼 파일도 모두 제공해야합니다.

 os.rename('C:\\Users\\Desktop\\a.txt', 'C:\\Users\\Desktop\\b.kml')


답변

import os

# Set the path
path = 'a\\b\\c'
# save current working directory
saved_cwd = os.getcwd()
# change your cwd to the directory which contains files
os.chdir(path)
os.rename('a.txt', 'b.klm')
# moving back to the directory you were in 
os.chdir(saved_cwd)