python(연습문제) # 탭을 4개의 공백으로 만들기
이 글은 도서 '점프 투 파이썬' 연습문제를 토대로 작성하였습니다.
탭을 4개의 공백으로 만들기
- 필요한 기능 : 문서 파일 읽어 들이기, 문자열 변경하기
- 입력받는 값 : 탭을 포함한 문서 파일
- 출력하는 값 : 탭이 공백으로 수정된 문서 파일
python tabto4.py src dst
위와 같은 형식으로 프로그램이 수행되도록 할 것이다.
tabto4.py
: 작성해야 할 파이썬 프로그램 이름src
: 탭을 포함하고 있는 원본 파일 이름dst
: 파일 안의 탭을 공백 4개로 변환한 결과를 저장할 파일 이름
1. tabto4.py 파일 작성
import sys
src = sys.argv[1]
dst = sys.argv[2]
print(src)
print(dst)
sys.argv를 사용하여 입력값을 확인하도록 만든 코드이다.
2. 입력값 확인
% python tabto4.py a.txt b.txt #enter
a.txt
b.txt
정상적으로 출력되는 것을 확인할 수 있다.
3. a.txt 작성
테스트를 위한 원본 파일(탭을 포함하는 파일)인 a.txt를 다음과 같이 작성한다. 각 단어는 탭(\t)문자로 분리되도록 입력해야 한다.
Life is too short #탭으로 구분
You need python #탭으로 구분
4. a.txt 탭 -> 4개의 공백 변환
import sys
src = sys.argv[1]
dst = sys.argv[2]
f = open(src)
tab_content = f.read()
f.close()
space_content = tab_content.replace("\t", " "*4)
print(space_content)
src에 해당되는 입력 파일을 읽어서 그 내용을 tab_content라는 변수에 저장한 후 문자열의 replace 함수를 사용하여 탭(\t)을 4개의 공백으로 변경하는 코드이다.
5. tabto4.py 파일 변경 후 명령실행
% python tabto4.py a.txt b.txt
Life is too short
You need python
공백 4개로 출력되었을 것이다. 하지만 탭과 공백4개의 차이점은 눈으로 보았을 때 확안하기 어렵다.
변경된 내용을 b.txt
라는 파일에 저장할 수 있도록 해보자
6. b.txt 생성을 위한 코드 작성
import sys
src = sys.argv[1]
dst = sys.argv[2]
f = open(src)
tab_content = f.read()
f.close()
space_content = tab_content.replace("\t", " "*4)
f = open(dst, 'w')
f.write(space_content)
f.close()
탭이 공백으로 변경된 space_content를 출력 파일인 dst에 쓰도록 코드를 수정하였다.
7. 코드 수정 후 명령 수행
% python tabto4.py a.txt b.txt
위 명령을 수행하면 b.txt
파일이 디렉토리 안에 생성된다. b.txt
파일을 확인하면 a.txt
와 동일한 내용이 저장되어있는 것을 확인할 수 있다.
txt파일을 에디터에서 확인하면 공백과 탭의 차이점을 확인할 수 있다.
Author And Source
이 문제에 관하여(python(연습문제) # 탭을 4개의 공백으로 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ssaboo/TIL-python연습문제-탭을-4개의-공백으로-만들기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)