'파이썬 입력'에 해당되는 글 1건

  1. 2021.03.10 [ Python ] 파이썬 파일 입출력/ with ~ as 문/ 한 줄씩 읽기
파이썬2021. 3. 10. 14:21
728x90

[ 파일에 쓰기 ]

 

f=open('hello.txt','w') #write모드
f.write('Hello Python')
f.close()

 

파이썬 파일이 있는 위치에 hello.txt가 생성됩니다.

직접 클릭해서 열어보면 다음과 같이 적혀있는 것을 확인할 수 있습니다.

 

[ with ~ as 문으로 파일에 쓰기 ]

 

위의 방법으로 하기 위해서는 f.close()가 필수 입니다.

하지만 귀찮기도 하고 까먹을 수도 있으니

f.close()를 하지 않아도 되는  with~ as 문을 알아보겠습니다.

 

with open('hello.txt','w') as f:

 

f=open('hello.txt','w')

f.close() 를 동시에 하는 코드라고 생각하면 쉽습니다.

with open('hello.txt','w') as f:
    f.write('hello Python!!')

 

결과도 똑같이 파일에 입력됩니다!

 

 

* 단, write 안에는 string만 가능합니다!

그래서 str()을 이용해서 type을 변경한 후 f.write를 해주세요!

 

[ 예제 ]

파일에 출력(Write) 하는 파이썬 코드 입니다.

file.out이라는 파일에 w(rite)모드로 answer을 string(문자열)로 쓰는 코드 입니다.

answer='hello world'
with open('file.out', 'w') as f:
    f.write(str(answer))

 

이런 식으로 file.out 이라는 파일이 생성됩니다.

 

확장자를 .txt로 변경하여 내용을 확인해봅니다.

 

 

[ 파일에서 한 줄씩 읽기 ]

전체를 읽기 위해서는 f.read()를 이용합니다.

하지만 한 줄씩 읽기 위해서는 f.readline()을 이용합니다.

 

numbers.txt

 

f=open('numbers.txt','r')
s=f.readline()
print(s)
s=f.readline()
print(s,end='')
s=f.readline()
print(s,end='')

f.close()

 

* 결과

print(s,end='')에서 end=''을 하는 이유는 두 줄 사이에 띄워쓰기를 하지 않기 위함인 것 같습니다.

(따라서 BBB와 CCC는 바로 다음줄에 출력됩니다.)

반응형
Posted by mminky