DL(Deep-Learning)/Python 기초

[Python] 파일과 디렉토리 경로 설정하기

AI 그게 뭔데 2022. 1. 26. 21:55

OS란?

Operating System의 약자로서 운영체제에서 제공되는 여러 기능을 파이썬에서 수행할 수 있는 모듈

 

 

현재 작업 폴더 얻기

os.getcwd()를 사용하여 얻는다. (get current working directory)

 

import os

os.getcwd()

#  C:\\Users\\y_name\\test

 

 

디렉토리 변경

os.chdir(path)를 사용합니다. (path는 문자열로 넣어줘야 한다.)

 

os.chdir("/Users")
os.getcwd()

# 'C:\\Users'

 

 

특정 경로에 대해 절대 경로 얻기

os.path.abspath(path)

 

os.path.abspath("PycharmProjects")

# 'C:\\Users\\PycharmProjects'

 

 

경로 중 디렉토리명만 얻기

os.path.dirname(path)

 

os.path.dirname('C:/Users/y_name/PycharmProjects/pythonProject')

# 'C:/Users/y_name/PycharmProjects'

 

 

경로 중 파일명만 얻기

os.path.basename(path)

 

os.path.basename('C:/Users/y_name/PycharmProjects/pythonProject')

# 'pythonProject'

 

 

경로 중 디렉토리명과 파일명 나누어 얻기

os.path.split(path) 디렉토리명, 파일명이 리스트 형태로 결과가 나온다.

 

dir, file = os.path.split('C:/Users/y_name/PycharmProjects/pythonProject')

print(dir)  # C:/Users/y_name/PycharmProjects
print(file)  #  pythonProject

 

 

파일 경로를 리스트로 얻기

파일 경로를 os.path.sep(OS별 파일 경로 나는 문자)를 이용해 split한다.

 

'Users\\y_name\\PycharmProjects\\pythonProject'.split(os.path.sep)

# ['Users', 'y_name', 'PycharmProjects', 'pythonProject']

 

 

경로를 병합하여 새 경로 생성

os.path.join(path, path1, path2, ...) path들을 묶어 하나의 경로로 만들어준다.

 

os.path.join("C:/Users/y_name/PycharmProjects/pythonProject", "test")

# "C:/Users/y_name/PycharmProjects/pythonProject\\test"

 

윈도우의 경우 seq = ' \\ ' 로 나타나고

맥, 리눅스의 경우 seq = ' / ' 로 나타난다.

 

 

디렉토리 안의 파일/서브 디렉토리 리스트

os.listdir(path) path 하위에 있는 파일, 디렉토리 리스트를 보여준다.

 

os.listdir('C:/Users/y_name/PycharmProjects/pythonProject')

# ['.idea', 'test1', 'test2', 'text.txt']

 

file_path 안에 하위 폴더, 파일들의 이름을 리스트로 가져온다.

 

 

파일 혹은 디렉토리가 존재하는지 체크

os.path.exists(path)

 

os.path.exists('C:/Users/y_name/PycharmProjects/pythonProject/test1')
# True

os.path.exists('C:/Users/y_name/PycharmProjects/pythonProject/test4')
# False

 

 

디렉토리가 존재하는지 체크

os.path.isdir(path)

 

os.path.isdir('C:/Users/y_name/PycharmProjects/pythonProject/test1')
# True

 

 

파일이 존재하는지 체크

os.path.isfile(path)

 

os.path.isfile('C:/Users/gowra/PycharmProjects/pythonProject/text.txt')
# True

 

 

파일의 크기

os.path.getsize(path)

 

os.path.getsize("C:/Users/gowra/PycharmProjects/pythonProject")
# 4096