inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

남박사의 파이썬 기초부터 실전 100% 활용

파일 인코딩 변경 프로그램 만들기

디렉터리가 뭐에요?

912

rn0731

작성한 질문수 3

2

1. 디렉터리가 뭐에요?

2. os.path.join가 뭐에요?

python 웹-크롤링

답변 3

2

남박사

("\\").join("디렉토리이름", "파일이름") 은 오류가 나는 구문입니다. 

("\\").join(["디렉토리이름", "파일이름"]) 처럼 join() 함수의 인자는 [] 리스트 형태로 넘겨야 오류가 나지 않습니다. 어쨌든 os.path.join() 함수는 목적 자체가 os 라이브러리에서 지원하는 경로를 조합해주는 목적의 함수이고 str.join() 함수는 문자열 함수의 기능으로 리스트의 요소들을 정해진 구분자(위에서 "\\") 를 사용해서 하나의 문자열로 리턴해주는 역할을 하는 함수 입니다.

서로 만들어진 목적은 다르겠지만 "디렉토리", "파일이름" 의 예를 들면 결론적으로는 같은 결과를 얻을 수 있습니다. 다만 join() 함수를 쓰려면 [] 리스트 형태로 데이터를 캐스팅 해야 하니 이미 문자열로 선언되어있는걸 또 한번 리스트로 변환하는 과정이 자원적으로는 낭비로 보입니다만 어떻게 쓰셔도 상관은 없는 부분입니다.

근데 만약 디렉토리가 여러개인경우 "c:\\", "abcd", "1234", "filename" 이렇게 4개의 인자가 있는 경우라면 str.join()을 쓰기 위해선 디렉토리명을 모두 리스트로 묶은다음에 다시 join 이 인자로 넘겨야 할테고 os.path.join() 를 쓴다면 그냥 인자로 모두 넘기면 됩니다. 

2

rn0731

os.path.join("디렉토리이름", "파일이름")과

("\\").join("디렉토리이름", "파일이름")가 비슷한 것 같은데 아닌가요?

차이가 있다면 무엇인가요?

2

남박사

1. 하드디스크에는 파일과 디렉토리로 구분되어 데이터가 저장됩니다. 윈도우에서는 다른말로 폴더라고도 합니다. 유닉스나 맥에서는 디렉토리라고 합니다. 특정 OS 에서는 카탈로그라는 단어도 씁니다.

2. os.path.join("디렉토리이름", "파일이름") = 인자로 넘긴 경로들을 묶어서 하나의 경로로 만들어주는 함수 입니다. 그냥 "디렉토리이름" + "파일이름" 을 해도 결과는 같습니다. 

os.path.join("c:\\", "test", "python", "test.py") == "c:\\test\\python\\test.py"

38강 = 연산자 더하고 빼기

0

60

2

주석처리

0

117

1

함수의 파라미터값 msg

0

155

1

강의자료 이미지 안나옴

0

239

3

강의자료 질문 두번째

0

165

3

강의자료 관련 질문

0

116

1

파이썬 예외 처리 try / except 파일 처리 코드가 실행이 안됩니다.

0

235

1

소수 너무 어려워요

0

245

1

imagefont 함수 사용

0

239

1

pylint

0

357

1

add 함수 문의 ㅠㅠ

0

283

1

형식 문의드립니다.

0

209

1

변수 명을 왜 src, tar로 하셨는지 궁금합니다.

0

602

1

숫자야구 코드를 짜 봤는데 뭔가 이상합니다.

0

253

1

zsh: command not found: pylint

0

269

1

텔레그램 봇 만들기 코드 실행이 안됩니다 박사님..ㅠ

0

546

1

질문드립니다.

1

374

2

list.reverse() 출력에 대해서 질문있습니다.

1

433

1

데코레이터 함수 및 동작시간 질문입니다.~

1

323

2

opencv 사용하면서 궁금한점 (해상도)

1

781

1

질문드립니다.

1

299

1

아래 오류가 뜨면서 vscode가 컴파일이 되지 않는데.. 혹시 왜이럴까요?

1

445

1

크롤링안되는 현상 문의 드립니다.

1

421

1

파이썬 크롤링 관련 문의

1

277

1