Python을 사용하여 파일 이름을 변경하는 방법
바꾸고 싶다a.txt
로.b.kml
.
사용방법:
import os
os.rename('a.txt', 'b.kml')
사용방법:
os.rename('from.extension.whatever','to.another.extension')
파일은 디렉토리 내에 있을 수 있습니다.이 경우 경로를 지정합니다.
import os
old_file = os.path.join("directory", "a.txt")
new_file = os.path.join("directory", "b.kml")
os.rename(old_file, new_file)
Python 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
간단한 문자열 조작으로 변경을 실행할 수 있습니다.
Python 3.6 이상 f-string 사용!
new_file_name = f"{name_without_extension}_1"
그렇지 않은 경우:
new_file_name = "{}_{}".format(name_without_extension, 1)
이제 이름을 변경하려면rename
path 객체에 method를 추가해 주세요.ext
적절한 이름 변경 구조를 완성합니다.
p.rename(Path(p.parent, new_file_name + ext))
간략하게 설명하겠습니다.
Python 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))
import shutil
shutil.move('a.txt', 'b.kml')
파일 이름을 바꾸거나 파일을 이동합니다.
os.rename(old, new)
이는 Python 문서(http://docs.python.org/library/os.html에서 확인할 수 있습니다.
사용하다os.rename
그러나 두 파일의 전체 경로를 함수에 전달해야 합니다.파일이 있는 경우a.txt
바탕화면에 올려놓기 때문에 이름을 바꾼 파일도 줘야 합니다.
os.rename('C:\\Users\\Desktop\\a.txt', 'C:\\Users\\Desktop\\b.kml')
Python 버전 3.3 이후부터는 일반적으로 다음을 사용하는 것이 선호됩니다.os.replace
대신os.rename
그렇게FileExistsError
대상 파일이 이미 존재하는 경우, 는 발생하지 않습니다.
assert os.path.isfile('old.txt')
assert os.path.isfile('new.txt')
os.rename('old.txt', 'new.txt')
# Raises FileExistsError
os.replace('old.txt', 'new.txt')
# Does not raise exception
assert not os.path.isfile('old.txt')
assert os.path.isfile('new.txt')
메뉴얼을 참조해 주세요.
여기서 주의해야 할 중요한 점은 새로운 파일 이름을 가진 파일이 있는지 확인해야 한다는 것입니다.
b.kml 파일이 존재하는 경우 동일한 파일 이름을 가진 다른 파일의 이름을 변경하면 기존 b.kml이 삭제됩니다.
import os
if not os.path.exists('b.kml'):
os.rename('a.txt','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)
os.rename 대신 Pathlib 라이브러리의 Path.rename을 사용하는 경우:
import pathlib
original_path = pathlib.Path('a.txt')
new_path = original_path.rename('b.kml')
다음은 를 사용하는 예를 제시하겠습니다.pathlib
건드리지 않고서만os
디렉토리내의 모든 파일의 이름을, 문자열에 근거해 변경합니다.replace
문자열 연결을 사용하지 않는 작업:
from pathlib import Path
path = Path('/talend/studio/plugins/org.talend.designer.components.bigdata_7.3.1.20200214_1052\components/tMongoDB44Connection')
for p in path.glob("tMongoDBConnection*"):
new_name = p.name.replace("tMongoDBConnection", "tMongoDB44Connection")
new_name = p.parent/new_name
p.rename(new_name)
import shutil
import os
files = os.listdir("./pics/")
for key in range(0, len(files)):
print files[key]
shutil.move("./pics/" + files[key],"./pics/img" + str(key) + ".jpeg")
이것으로 충분할 겁니다. 파이썬 3+
디렉토리의 파일 이름 첫 글자를 변경하는 방법:
import os
path = "/"
for file in os.listdir(path):
os.rename(path + file, path + file.lower().capitalize())
then = os.listdir(path)
print(then)
Windows 를 사용하고 있는 경우, 폴더내의 1000 개의 파일의 이름을 변경하는 경우는, 다음의 코드를 사용할 수 있습니다.(Python3)
import os
path = os.chdir(input("Enter the path of the Your Image Folder : ")) #Here put the path of your folder where your images are stored
image_name = input("Enter your Image name : ") #Here, enter the name you want your images to have
i = 0
for file in os.listdir(path):
new_file_name = image_name+"_" + str(i) + ".jpg" #here you can change the extention of your renmamed file.
os.rename(file,new_file_name)
i = i + 1
input("Renamed all Images!!")
os.chdir(r"D:\Folder1\Folder2")
os.vs(src,dst)
및 는 Folder2 #src" dst" Folder2 안에 합니다.
import os
import re
from pathlib import Path
for f in os.listdir(training_data_dir2):
for file in os.listdir( training_data_dir2 + '/' + f):
oldfile= Path(training_data_dir2 + '/' + f + '/' + file)
newfile = Path(training_data_dir2 + '/' + f + '/' + file[49:])
p=oldfile
p.rename(newfile)
os.system을 사용하여 터미널을 호출하여 작업을 수행할 수 있습니다.
os.system('mv oldfile newfile')
언급URL : https://stackoverflow.com/questions/2491222/how-to-rename-a-file-using-python
'source' 카테고리의 다른 글
j쿼리 포커스 상실 이벤트 (0) | 2022.09.17 |
---|---|
MySQL에서 Auto Increment 값의 현재 개수를 변경하시겠습니까? (0) | 2022.09.17 |
java.sql로 표시되는 밀리초수를 취득하는 방법.시간? (0) | 2022.09.17 |
Python에서 환경변수에 액세스하려면 어떻게 해야 합니까? (0) | 2022.09.16 |
PHP에서 SFTP를 사용하는 방법 (0) | 2022.09.16 |