코딩의 기록/[책]클린코드 이제는 파이썬이다

1 - 2. 환경 설정과 명령행 사용 방법 (1) - 파일시스템/파이썬 경로/홈 디렉터리/현재 작업 디렉터리

모루우 2024. 10. 8. 16:33
728x90
반응형

환경 설정: 코딩 작업이 가능하도록 컴퓨터를 구성하는 과정

 

파일시스템

운영체제가 저장하고 검색할 데이터를 구성하는 기반

 

파일: 파일명 + 경로 두가지 속성을 지님

 

 

이런거 말하는듯

 

여기서 C:\ 부분은 루트 폴더. 모든 하위 폴더가 들어 있는 곳

윈도우는 C 드라이브, 맥/리눅스는 그냥 \

 

위 그림에서 Users, Documents 같은거는 전부 폴더(혹은 디렉토리)라고 함

C:\는 루트 폴더로 하위 폴더가 들어가 있음

 

*윈도우와 맥OS에서는 폴더명과 파일명의 대소문자를 구분하지 않지만 리눅스에서는 구분 함

 

윈도우에서는 폴더와 파일명을 백슬래시(\)로 구분하지만 맥os와 리눅스에서는 슬래시(/)로 구분함

그래서 호환이 가능하도록 할려면 /와\ 대신 pathlib 모듈과 /연산자를 사용해야 함

 

Pathlib 모듈에서 Path를 임포트한 후 폴더나 파일명의 문자열을 Path()에 전달하여 해당 폴더 또는 파일명의 Path 객체를 만들 수 있음

 

표현식에서 가장 왼쪽 객체가 Path 객체인 경우 / 연산자를 사용해 객체나 문자열을 하나로 결합 가능

 

예: Path('spam') / 'bacon' / 'eggs'

=> windowsPath('spam/bacon/eggs')

 

Path()는 윈도우에선 WindowsPath 객체, 맥OS나 리눅스에서는 PosixPath 객체를 반환함

 

 

파일명을 파라미터로 받는 파이썬의 표준 라이브러리의 모든 함수에 Path 객체를 전달 가능

 

open (path('C:\\') / 'Users' / 'AI' / 'Desktop' / 'spam.py')

= open (r ' C:\Users\AI\Desktop\spam.py)

 

 

홈 디렉터리(홈 폴더) : 자신의 파일을 저장할 수 있는 폴더

Path.home()을 호출하면 홈 폴더의 Path 객체를 얻을 수 있음

 

홈 디렉터리는

윈도우: C:\Users

맥: \Users

리눅스: \home (보통)

이런 경우가 많음

 

현재 작업 디렉터리: 루트 폴더로 시작하지 않는 모든 파일명이나 경로는 여기 있다고 가정 가능함?

 

Path.cwd() 함수를 이용해서 현재 작업 디렉터리(Current working directory 인듯?)를 Path 객체로 가져 올 수 있음

 

그 후 os.chdir() (chdir은 change directory)로 현재 작업 디렉터리 변경 가능

 

* os 라이브러리: 표준라이브러리에 속해 있어서 따로 설치할 필요 없음

주요 목적은 프로그래밍 언어 수준에서 운영체제의 기능에 접근 가능하도록 하는 것

 

os.getcwd()로 현재 작업 디렉터리를 문자열로 얻기 위해 쓸 수 있음

 

 

요약

1. 파일들은 경로를 가지는데 소프트웨어가 여러 곳에서 호환성을 가질려면 pathliab 모듈과 / 연산자를 사용하여 작성해야 함

pathlib.Path('~') / 'a' / 'b'

2. C:\ 루트폴더, Users 같은건 홈 폴더(이건 그냥 개인용에서 가장 최상위 폴더 느낌?), 현재 작업 폴더는 그냥 진짜 현재 작업하고 있는 폴더를 말하는듯

3. Path.cwd()를 사용해서 현재 작업 폴더를 가져올 수 있고 OS 라이브러리의 chdir()를 이용해서 바꿀 수 있음

 

 

 

 

 

 

728x90
반응형