inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

남박사의 파이썬으로 실전 웹사이트 만들기

글 작성시 첨부파일 기능 구현하기

if문 문의 드려요~

198

작성자 없음

작성한 질문수 0

1

선생님 공부하다가 제 머리로는 이해 안되는게 생겼습니다

 

약 7분 29초 이고

for문 안에 if 문이 있는데

for s in os.path.sep, os.path.altsep:
    if s:

 

위와 같이 if s: 이렇게 되어있는데

if문을 왜 쓴걸까요?

s는 무조건 존재하기때문에

무조건 참이 나올수밖에 없는 상황인데 

해당 코드가 왜 들어갔는지 잘 모르겠어요

 

뭔가 심오한 뜻이 있을거 같은데 알려주시면 감사하겠습니다

 

 

 

 

 

 

 

 

 

 

python

답변 1

1

남박사

안타깝게도... 그리 심오한 뜻은 없습니다. 그냥 하나의 개발자 습관이라고 보시면 되는데..

사실 말씀하신것 처럼 for s in os.path.... : 에서 s 는 무조건 참이 되는게 맞습니다. 그런데 저는 코딩할때 for 의 s 를 염두하고 작성하기보다..

filename = filename.replace(s, " ")

s 를 사용하는 다음줄의 코드를 염두해서 작성할때 습관적으로 해당 코드가 의도치 않는 처리 과정을 방어하기 위해서 코드를 작성하는 습관이 있습니다. 

꼭 위의 코드를 예시로 들수는 없지만 만약 질문하신 내용에서 처럼 정말 당연히 s 는 문제가 없을꺼라 생각했는데 s 에 의해 문제가 생기면 저기서 발생하는 오류를 나중에 검출해내기가 너무너무 어려워지는 경험을 많이 하다보니 생긴 습관이라고 봐주셨으면 좋겠습니다. ^^;

iis 접속후 자동으로 로그인 창이 나오도록 설정이 기능한가요?

0

84

2

리스트 이동 시 창 에러 발생

0

90

1

배포후 회원 등록 후 로그인 에러...

0

88

2

내부 서버 오류

0

85

2

app.config["MONGO_URI"] = "mongodb://localhost:27017/pm_db"

0

65

2

DB 검색하면 데이터가 없습니다. 라고 나와요. 5시간을 찾아봐도 모르겠어서 문의드려봅니다.

0

63

1

몽고db studio3T를 깔았는데

0

71

2

flake8과 linter

0

89

3

500이 뜹니다.

0

66

2

첨부파일 삭제

0

73

2

검색기능 질문

0

75

2

google.py

0

75

2

Studio 3T에 DB insert가 되지 않는 문제를 해결하지 못하고 있습니다 ㅠ

0

93

3

혹시 전체 코드 공개되어 있나요?

0

104

1

join.html 의 form 태그값 을 member_join() 에서 처리못함.

0

112

1

google.py 몽고db 샘플데이터 만들기

0

111

2

flake8 설치 이후 명령팔레트에서 linter가 안보입니다.

0

253

2

파이썬으로 만들어서 웹호스팅에 올릴경우

0

316

1

현재 구글검색 무한스크롤변경 문의합니다

0

306

1

몽고디비아틀라스로 추가 공부해서 올립니다.

0

225

1

IIS 500.19에러

0

669

2

버전 문제도 수정했는데 결과가 안나옵니다.

0

266

1

데이터베이스 저장관련 질문입니다.

0

280

1

test가 생기지 않습니다.

0

520

3