환경 설정: 코딩 작업이 가능하도록 컴퓨터를 구성하는 과정
파일시스템
운영체제가 저장하고 검색할 데이터를 구성하는 기반
파일: 파일명 + 경로 두가지 속성을 지님

여기서 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()를 이용해서 바꿀 수 있음
'코딩의 기록 > [책]클린코드 이제는 파이썬이다' 카테고리의 다른 글
[파이썬] 모듈 vs 라이브러리 vs 패키지 vs 프레임워크 (0) | 2024.10.07 |
---|---|
1 - 1. 에러 메시지 파악과 고수의 도움을 받기 위한 질문 에티켓 (0) | 2024.10.05 |