[파이썬] 파일 경로 확인,경로 변경, 파일이름 변경, 디렉토리 변경 하는 방법
파이썬에서 현재경로를 확인하거나 경로를 변경하기 위해서는 os모듈을 import 하여 사용합니다.
파이썬 파일이름을 변경하는 방법
os.reanme()함수를 사용합니다. 주의할 점은 반드시 파일경로와 파일명 그리고 확장자 까지 모두 포함해야합니다.
그리고 변경할 대상의 파일명의 경우 경로를 포함하지않고 파일명만 포함하게되면 임의의 폴더에 파일이 저장됩니다.
import os print('-'*30) file_list = os.listdir("C:/python/test/folder1") print(file_list) print('-'*30) os.renames("C:/python/test/folder1/newfile.txt", "C:/python/test/folder1/newfile_22222.txt") #os.renames("C:/python/test/folder1/newfile.txt", "test.txt") print('-'*30) file_list = os.listdir("C:/python/test/folder1") print(file_list) print('-'*30) #실행결과 C:\Users\ilike\AppData\Local\Programs\Python\Python39\python.exe C:/python/Workspace/main.py ------------------------------ ['newfile.txt', 'sample - 복사본.txt', 'sample.txt'] ------------------------------ ------------------------------ ['newfile_22222.txt', 'sample - 복사본.txt', 'sample.txt'] ------------------------------
[
파이썬 경로(path)제외하고 파일명만 가져오는 방법
os.path.basename()함수를 사용합니다.
>>> os.path.basename("C:/Users/ilike/AppData/Local/Programs/Python/Python39/python.exe") 'python.exe' >>>
파이썬 파일인지 확인하는 방법
isfile() 함수를 사용합니다.
>>> os.path.isfile("C:/Users/ilike/AppData/Local/Programs/Python/Python39/python.exe") True >>> os.path.isfile("C:/Users/ilike/AppData/Local/Programs/Python/Python39/") False >>>
파이썬 디렉토리(폴더)인지 체크 하는 방법
isdir() 함수를 사용합니다. 존재하지 않는 경로를 체크하는 용도로도 활용하면 좋습니다. 디렉토리가 존재하고 맞다면 True를 리턴합니다.
>>> os.path.isdir("C:/Users/ilike/AppData/Local/Programs/Python/Python39/") True >>> >>> os.path.isdir("C:/Users/ilike/AppData/Local/Programs/Python/Python39/python.exe") False >>>
파이썬 파일 경로에서 폴더와 파일명을 분리하는 방법
os.path.split()함수를 사용합니다.
>>> dir, file = os.path.split("C:/Users/ilike/AppData/Local/Programs/Python/Python39/python.exe") >>> print(dir) C:/Users/ilike/AppData/Local/Programs/Python/Python39 >>> >>> print(file) python.exe >>>
파이썬 파일 또는 디렉토리 경로 존재 유무 확인하는 방법
os.path.exists()함수를 사용합니다.
>>> #폴더 존재여부 체크 >>> os.path.exists("C:\Python39") False >>> >>> >>>#파일존재유무 확인 >>> os.path.exists("C:/Users/ilike/AppData/Local/Programs/Python/Python39/python.exe") True >>>
파이썬 파일의 크기를 체크하는 방법
os.path.getsize()함수를 사용합니다.
>>> os.path.getsize("C:/Users/ilike/AppData/Local/Programs/Python/Python39/python.exe") 100368 >>>
파이썬 파일 또는 경로를 합치는 방법
os.path.join()함수를 사용합니다.
>>> >>> os.path.join("C:/Users/ilike/AppData/Local/Programs","Python") 'C:/Users/ilike/AppData/Local/Programs\\Python' >>>
파이썬 파일명과 확장자를 분리하는 방법
os.path.splitext()함수를 사용합니다.
>>> name, ext = os.path.splitext("python.exe") >>> print("파일명:", name) 파일명: python >>> >>> print("확장자:", ext) 확장자: .exe >>>
파이썬 현재 경로 확인하는 방법
os.getcwd()함수를 사용하여 현재 경로( 현재 폴더 위치)를 확인합니다.
>>> import os >>> >>> path = os.getcwd() >>> print(path) #실행결과 C:\Users\ilike\AppData\Local\Programs\Python\Python39
파이썬 디렉토리(경로) 변경 방법
chdir() 함수를 사용합니다.
파이썬 현재 경로 위치에서 한단계 내려가는 방법
>>> import os >>> os.chdir("../") >>> path = os.getcwd() >>> print(path) #실행결과 C:\Users\ilike\AppData\Local\Programs\Python >>>
■경로(폴더) 위치를 완전히 변경하려면 폴더 개수 만큼 ../를 추가하여 루트 폴더(C:\)까지 내려간 후 변경하고자 하는 폴더를 입력합니다. 혹은 다이렉트로 이동합니다.
>>> import os >>> os.chdir("../../../../../../../python") >>> path = os.getcwd() >>> print(path) >>> #실행결과 C:\python >>> >>> >>>os.chdir("C:\python") >>> path = os.getcwd() >>> print(path) >>> #실행결과 C:\python >>>
파이썬 현재 폴더를의 디렉토리 및 파일 리스트 확인하는 방법
(도스 명령어 dir/w와 유사) : os.listdir() 함수를 사용합니다.
>>> import os >>> os.listdir() ['script', 'Workspace', '새파일.txt'] #변수에 담은후 print문을 사용하여 출력해도 동일한 결과를 얻습니다. #myfile = os.listdir() #print(myfile) #실행결과 ['script', 'Workspace', '새파일.txt'] >>> # script와 Workspace는 디렉토리(폴더) 입니다.
파이썬 파일명 제외하고 경로만 가져오는 방법
os.path.dirname()함수를 사용합니다.
>>> os.path.dirname("C:/Users/ilike/AppData/Local/Programs/Python/Python39/python.exe") #실행결과 'C:/Users/ilike/AppData/Local/Programs/Python/Python39' #\로 접근하면 오류가 발생하였다. >>> >>> os.path.dirname("C:\Users\ilike\AppData\Local\Programs\Python\Python39\python.exe") File "<stdin>", line 1 os.path.dirname("C:\Users\ilike\AppData\Local\Programs\Python\Python39\python.exe") ^ SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape