Coding/Python

[python] 입출력 / 파일 읽고 쓰기

dodomp0114 2021. 12. 2. 22:12

입출력

 

- 사용자가 입력한 값을 변수에 넣는 방법.

 

  input () 함수를 사용하여 원하는 값 대입.

 

기본 구조

input ("넣고 싶은 데이터")

 

 

input() 으로 변수에 데이터 입력, print 를 사용하여 질문 생성.

>>> A = input("number : ")
number : 100
>>> print (A)
100

 

 


 

 

파일 읽고 쓰기

 

  • open/ close
    • readline 
    • readlines
    • read 
    • with

 

 

- 파이썬에서는 파일 생성과 읽고 쓰기를 할 수 있는 함수를 내장하고 있습니다.

  

  

 

open() / close()

### 파일 생성/ 열기 ###
f = open ("file_path",'options')

### 열려있는 파일 닫기 ###
f.close()

 

 

open () 옵션

open() _ option 설명
r 읽기모드 - 파일안의 내용을 읽을 때 사용
w 쓰기모드 - 파일안에 내용을 쓸 때 사용
a 추가모드 - 파일 마지막 부분에 새로운 내용을
              추가할 때 사용.

 

open을 이용하여 파일 생성/ 열기가 가능하며, close를 이용하여 파일을 닫아줄 수 있습니다.

 ( 파일 생성시에는 open 함수와 함께 'w' 옵션을 같이 사용. )

 

※ open 'w' 옵션을 사용할 때 기존 파일에 내용이 있으면 초기화되니 조심.

   

   기존 파일에 내용을 추가하고자 할때는 반드시 'a' 옵션 사용.

 

 

ex)

#####################
### open / close ###
#####################

### 파일 생성, 닫기 ###
>>> f = open ("/root/newfile.txt",'w')
>>> f.close()

### 지정해준 경로에 파일 생성 ###

[root@myoracleworld ~]# ls
newfile.txt

 

 

'w' 옵션 사용

#############################################
### 'w' 옵션을 사용하여 파일에 내용 등록 ###
#############################################

>>> f = open ("/root/newfile.txt",'w')
>>> for a in range(1,11):
...     data = "count = %d\n" % a
...     f.write(data)

>>> f.close()

### 파일 내용 출력 ###
[root@myoracleworld ~]# cat newfile.txt 
count = 1
count = 2
count = 3
count = 4
count = 5
count = 6
count = 7
count = 8
count = 9
count = 10

 

 

'a' 옵션 사용

##########################################
### 'a' 사용하여 기존파일에 내용 추가 ###
##########################################

### 기존 /root/newfile.txt 파일 마지막에 내용 추가 ###
>>> f = open ("/root/newfile.txt",'a')
>>> for i in range (11,16) :
...     data = "plus count = %d\n" % i
...     f.write(data)
>>> f.close()

### /root/newfile.txt 내용 확인 ###
[root@myoracleworld ~]# cat newfile.txt 
count = 1
count = 2
count = 3
count = 4
count = 5
count = 6
count = 7
count = 8
count = 9
count = 10
plus count = 11
plus count = 12
plus count = 13
plus count = 14
plus count = 15

 

 

 

readline ()

 

- 외부 파일의 내용에서 첫 번째 줄을 읽어들여 출력하는 함수.

 

####################
### readline () ###
####################

>>> f = open ("/root/newfile.txt",'r')
>>> line = f.readline()
>>> print (line)
count = 1

>>> f.close()

 

 

 

readlines ()

 

- readline () 함수와는 다르게 외부 파일의 내용을 모두 읽어들여, 각각의 줄을 객체로 갖는

  리스트로 반환해 줍니다.

 

##################
### readlines ###
##################

>>> f = open ("/root/newfile.txt",'r')
>>> line = f.readlines()
>>> print (lines)
['count = 1\n', 'count = 2\n', 'count = 3\n', 'count = 4\n', 'count = 5\n', 'count = 6\n', 'count = 7\n', 'count = 8\n', 'count = 9\n', 'count = 10\n']

 

 

for문과 strip 함수를 사용하여 출력

>>> f = open("/root/newfile.txt",'r')
>>> lines = f.readlines()
>>> for i in lines :
...     i = i.strip()
...     print (i)
... 
count = 1
count = 2
count = 3
count = 4
count = 5
count = 6
count = 7
count = 8
count = 9
count = 10

 

 

 

read ()

 

- 파일의 전체 내용을 읽어들여 문자열로 반환하여 줍니다.

 

##################
### read 함수 ###
##################
>>> f = open("/root/newfile.txt",'r')
>>> data = f.read()
>>> data
'count = 1\ncount = 2\ncount = 3\ncount = 4\ncount = 5\ncount = 6\ncount = 7\ncount = 8\ncount = 9\ncount = 10\n'

 

 

 

with

 

- 파일안의 내용을 읽고 쓰거나 하려면 파일을 열고 닫는 명령어 ( open() / close() )를 써줘야 합니다.

  

  with 문은 이렇게 수동으로 열고 닫는 문제를 자동으로 해결해주는 모듈입니다.

 

with open ("newfile.txt", 'w') as f:
	f.write("Hello python")

'Coding > Python' 카테고리의 다른 글

[python] class  (0) 2021.12.29
[python] random 모듈  (0) 2021.12.09
[python] 함수 란?  (0) 2021.12.01
[python] for 문 / ( range, enumerate, zip 함수 )  (0) 2021.12.01
[python] while 문 ( break, continue )  (0) 2021.11.26