본문 바로가기

강의/점프투파이썬5

[점프투파이썬] 5. 하위 디렉터리 검색하기(os.listdir/os.path.join/splitext/isdir/os.walk) 5. 특정 디렉터리부터 시작해서 그 하위 모든 파일 중 파이썬 파일(*.py)만 출력해 주는 프로그램을 만들어 보자. - 내 답안 디렉터리 안의 모든 파일을 읽어서 리스트로 만들어 주는 glob을 활용한다. 1) glob 코드를 넣은 모듈을 만든다.("practice6_6.py") import glob glob.glob("C:/doit/*.py") 2) 다음 명령을 통해 실행한다. C:/doit>python practice6_6.py *여기서 뭐가 더 있을텐데 뭘 더 해야 하는지 잘 모르겠고, 코드 실행도 안 됨..! 이 문제 아예 못 푼 듯ㅠ - 해설 1) sub_dir_search.py 파일을 작성한다. # C:/doit/sub_dir_search.py def search(dirname): print.. 2020. 3. 17.
[점프투파이썬] 4. 문서에 있는 탭(tab)을 공백(space)으로 바꾸기(sys.argv/replace) 4. 문서 파일을 읽어서 그 문서 파일 안에 있는 탭(tab)을 공백(space) 4개로 바꾸어 주는 스크립트를 작성해 보자. - 내 답안 필요한 것: 문서 파일을 읽는다. 탭을 공백으로 바꾼다. 1) 문서 파일을 만들고("test6-5.txt") 탭이 들어간 내용을 작성한다. f = open("C:/doit/test6-5.txt", 'w') f.write(" You need python! ") f.close() 2) 파일을 읽어 와서, 파일의 탭을 공백으로 바꾼다.(replace 쓰기) f = open("C:/doit/test6-5.txt", 'r') body = f.read() body = body.replace(' ', ' ') f = open("C:/doit/test6-5.txt", 'w') f... 2020. 3. 17.
[점프투파이썬] 3. 간단한 메모장 만들기(sys.argv) 3. 원하는 메모를 파일에 저장하고 추가 및 조회가 가능한 간단한 메모장을 만들어 보자. 입력: 메모할 내용 기능: 입력한 내용 저장/추가하기, 저장된 내용 조회하기 1) 저장할 파일은 "memo.txt", 입력값은 m으로 지정 먼저 "memo.txt" 파일을 디렉토리에 만들고, m을 memo.txt에 작성하도록 한다. m = input("내용을 입력하세요: ") f = open("C:/doit/memo.txt", 'w') 2) 저장할 내용은 입력값(메모할 내용) 입력값을 memo.txt에 작성하고 닫아준다. f.write(m + "\n") f.close() 3) 조회: 파일을 읽기 모드로 열어 저장된 내용을 조회한다. f = open("C:/doit/memo.txt", 'r') save = f.read.. 2020. 3. 17.
[점프투파이썬] 2. 게시판 페이징하기 2. A 씨는 게시판 프로그램을 작성하고 있다. 그런데 게시물의 총 건수와 한 페이지에 보여 줄 게시물 수를 입력으로 주었을 때 총 페이지 수를 출력하는 프로그램이 필요하다고 한다. - 내 답안 함수 이름: getTotalPage 입력: 게시물의 총 건수(m), 한 페이지에 보여줄 게시물 수(n) 출력: 총 페이지수(p) ex) m = 11건, n = 5건이라면, p =3 즉, p는 (m/2의 몫 + 1)이므로 몫을 구하는 연산자 // 사용하기 def getTotalPage(m, n): result = m // n + 1 return result print(getTotalPage(m, n)) - 해설 def getTotalPage(m, n): return m // n + 1 * result 값을 따로 설.. 2020. 3. 17.
[점프투파이썬] 1. 3의 배수와 5의 배수의 총합 구하기 1. 1000미만의 자연수에서 3의 배수와 5의 배수의 총합을 출력하기 - 내가 쓴 답안 입력: 1~999(1000미만의 자연수) 출력: 3의 배수, 5의 배수의 총합 1) 1000미만의 자연수 중 3의 배수, 5의 배수 구하기 def multiple(n): result = [] i = 0 while n*i < 1000: result.append(n * i) i += 1 return result a = multiple(3)+multiple(5) 2) 3과 5의 공배수(중복값) 처리 중복값을 허용하지 않는 집합 자료형(set) 쓰기 b = set(a) 3) set(multiple(3)+multiple(5)) 값 더하기 print(sum(b)) sum(b)= 233168 - 해설과 비교해 보기 1) 1000.. 2020. 3. 17.