본문 바로가기
Tech Stack/Python

입출력

by jaeaemin 2021. 7. 29.

 

사용자 입출력

 

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