나는 변경할 a.txt
로 b.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)