사용자 입출력
input (입력)
사용자의 입력을 받아서 문자열로 반환한다. input에 인자를 넣게 되면 입력 받을 시에 프롬프트를 띄워서 안내 문구를 추가하여서 입력을 주는 사용자에게 정보를 제공할 수 있다.
s = input() >> hello world s 'hello world' n = input('숫자를 입력하시오: ') >> 숫자를 입력하시오 : 3 n '3' type(n) <class 'str'> |
print (출력)
print는 입력한 자료형을 출력하는 것으로 가볍게 특징만 살펴보자
- 큰따옴표로 둘러싸인 문자열은 + 연산과 동일하다
print("life" "is" "too short") # lifeistoo short
print("life"+"is"+"too short") # lifeistoo short
- 문자열 띄어쓰기는 콤마로 한다.
print("life","is","too short") # life is too short
- 한 줄에 게속해서 결과값을 출력하기 위해 end를 사용한다
for i in range(10):
print(i, end=' ') # end는 print 출력 후 이어질 문자로 default가 줄바꿈임으로 공백을 할당하면 한 줄에 이어서 출력된다.
...
파일 입출력
파일 생성하기 ( 파일 객체 할당받기 )
파일 객체 = open(파일 이름, 파일 열기 모드) #열기모드 = r,w,x
이렇게 할당된 파일 객체를 통해서 파일을 읽기&쓰기&수정하기를 지원한다.
파일 객체 반환하기
파일 객체.close()
할당된 파일 객체를 반환하는 역할로, 반환을 생략하면 파이썬에서는 자체적으로 프로그램을 종료할 때 열려있는 파일 객체를 자동으로 닫아 주지만, 프로그램이 종료되지 않은 채로 쓰기모드를 진행중인 파일을 새로 열려하면 오류가 발생하므로 닫아주는 것을 습관화하는 것이 좋다.
write (파일 입력)
f = open(" 파일 주소/파일 이름", 'w') # w모드로 입력모드로 파일 객체를 할당받음 for i in range(1, 11): data = "%d"번째 줄입니다. \n" % i f.write(data) # data라는 문구를 할당받은 파일객체 f에 write함수를 이용해 입력하고 있다. f.close() |
>> 결과로 파일 주소안에 파일이 생성되어서 n번째 줄까지 표시하는 텍스트 파일이 생성되었음
read (파일 출력)
f = open("../새파일.txt", 'r') data = f.read() print(data) f.close() |
파일의 내용 전체를 문자열로 돌려준다. data에 파일에 담긴 txt내용 전체가 문자열로 저장되어지게 된다.
readline 함수
f = open("../새파일.txt", 'r') while True: line = f.readline() if not line: break print(line) f.close() |
readline함수는 파일을 읽을 때 한줄 씩 읽어오는 함수이다. 파일을 처음 열었다면 맨 첫번째 줄 부터 파일을 읽어오고 반복문을 통해서 게속해서 readline 함수를 호출하게 되면 줄 끝까지 읽어오고 마지막에 빈 문자열 ('')을 반환하게 된다.
readlines 함수
f = open(".../새파일.txt", 'r') lines = f.readlines() for line in lines: print(line) f.close() |
readlines 함수는 모든 줄을 읽어서 각각의 줄을 분리해서 줄을 요소로 갖는 리스트로 돌려준다. 따라서 위의 예제에서 lines는 파일에서의 줄마다 텍스트를 string형식으로 가지고 있는 stirng list이다.
+ 파일을 읽어올 때 \n (줄바꿈 문자)를 제거해야 하는 경우 strip를 사용하여 제거할 수 있다.
(ex) line = line.strip() # 한 줄의 문자열에서 \n을 제거하는 방법
파일 경로 주의할점 !
파일 경로를 표시할때 계층구조를 '/' 또는 '\'로 표시할 수 있다.
이때 '\'를 사용한다면 역슬래시를 두 번사용하거나 경로 파일 문자열 앞에 r(Row string)을 추가하여 표시해야 한다.
왜냐면 파일 경로에 \n와 같은 이스케이프 문자가 있는 경우 줄 바꿈 문자로 해석되거나 다른 이스케이프 문자로 해석되어 의도했던 파일 경로와 달라지기 때문이다
'Tech Stack > Python' 카테고리의 다른 글
모듈 (0) | 2021.08.02 |
---|---|
클래스 (0) | 2021.07.30 |
파일 (0) | 2021.07.27 |
함수 (0) | 2021.07.26 |
반복문 ( for , while ) (0) | 2021.07.24 |