디렉토리 관련해서는 잊을만하면 찾는 것 같다. 디버깅을 위해(보통 github actions이나 Jenkins등에서 오류날 때..) Print를 찍다 보니, 한번쯤은 정리해두는게 좋을 것 같아 정리한다!
외워서 바로 적용한다고 하진 않았다
print(os.getcwd())
# os.chdir(path), path는 문자열
os.chdir("/Users")
print(os.getcwd()) # /Users
# os.path.abspath(path)
print(os.path.abspath("web-crawler-py/parsed_data"))
# /Users/evan/dev/python/web-crawler-py/parsed_data/web-crawler-py/parsed_data
# os.path.dir(path)
print(os.path.dirname("/Users/evan/dev/python/web-crawler-py/parsed_data"))
# Users/evan/dev/python/web-crawler-py
# os.path.basename(path)
print(os.path.basename("/Users/evan/dev/python/web-crawler-py/parsed_data"))
# parsed_data
# os.path.split(path) 디렉토리명, 파일명이 리스트 형태로 나온다.
dir, file = os.path.split("/Users/evan/dev/python/web-crawler-py/parsed_data")
print(dir, file, sep="\n")
# /Users/evan/dev/python/web-crawler-py
# parsed_data
# 파일 경로를 os.path.sep(OS별 파일 경로 나눈 문자)를 이용해 split 한다.
print("/Users/evan/dev/python/web-crawler-py/parsed_data".split(os.path.sep))
# ['', 'Users', 'evan', 'dev', 'python', 'web-crawler-py', 'parsed_data']
# os.path.join(path, path1, path2, ...) 넘겨준 path들을 묶어 하나의 경로로 만듦
print(os.path.join("/Users/evan/dev/python/web-crawler-py/parsed_data", "test"))
# /Users/evan/dev/python/web-crawler-py/parsed_data/test
# os.listdir(path) path 하위에 있는 파일, 디렉토리 리스트를 보여준다.
print(os.listdir("/Users/evan/dev/python/web-crawler-py/parsed_data"))
# os.path.exists(path)
print(os.path.exists("/Users/evan/dev/python/web-crawler-py/parsed_data"))
# os.path.isdir(path)
print(os.path.isdir("/Users/evan/dev/python/web-crawler-py/parsed_data"))
# os.path.isfile(path)
print(os.path.isfile("/Users/evan/dev/python/web-crawler-py/parsed_data"))
# os.path.getsize(path)
print(os.path.getsize("/Users/evan/dev/python/web-crawler-py/parsed_data"))