[Python] 14.파일처리

파일처리

파일을 생성, 수정, 읽기를 하는 방법을 알아봅니다.

 

파일 생성.

신규 파일을 생성합니다. 만약 기존 파일이 있을시 덮어씁니다. 파일을 생성하고 파일안에 내용을 작성할 있습니다.

 

▶︎ 사용방법

파일객체 = open("파일명", 'w 혹은 a')

파일열기모드 설명

r 읽기모드 - 파일을 읽기만 사용

w 쓰기모드 - 파일에 내용을 사용

a 추가모드 - 파일의 마지막에 새로운 내용을 추가 시킬 사용

 

 

▶︎ 예제 코드

코드 :
# 파일을 작성하기 원하는 디렉토리 파일명을 입력하고 파일열기 모드를 설정합니다.
# 여기서는 쓰기모드를 활성화합니다.
f = open("/Users/phoenix/StudyPython/newfile.txt", 'w')
for i in range(1, 11):
    data = "%d번째 줄입니다.\n" % i

    # data를 파일에 씁니다.
    f.write(data)
f.close()

결과 :
/StudyPython/newfile.txt를 열어봅니다.
1번째 줄입니다.
2번째 줄입니다.
3번째 줄입니다.
4번째 줄입니다.
5번째 줄입니다.
6번째 줄입니다.
7번째 줄입니다.
8번째 줄입니다.
9번째 줄입니다.
10번째 줄입니다.

 

파일 읽기

파일을 읽는 방법을 알아봅니다. 읽어야 기존 파일이 없다면 에러가 발생합니다.(??)

 

▶︎ 사용방법

파일객체 = open("파일명", 'r')

파일객체.readline() : 라인단위로 읽기

파일객체.readlines() : 모든라인 읽기

 

▶︎ 예제 코드

예제 1 : 파일객체.readline

코드 :
# 아래 경로에 파일이 오픈됩니다. 그리고 파일안의 내용을 읽으며 출력합니다.
f = open("/Users/phoenix/StudyPython/btsdynamite.txt", 'r')
while True:
    line = f.readline()
    if not line: break
    print(line)
f.close()

결과 :
Cause I-I-I'm in the stars tonight
So watch me bring the fire and set the night alight
Shoes on, get up in the morn
Cup of milk, let's rock and roll
King Kong, kick the drum, rolling on like a rolling stone
Sing song when I'm walking home
.........

 

예제 2 : 파일객체.readline

코드 : 
# 아래 경로에 파일이 오픈됩니다. 그리고 파일안의 내용을 읽으며 출력합니다.
f = open("/Users/phoenix/StudyPython/btsdynamite.txt", 'r')
lines = f.readlines()
for line in lines:
    print(line)
f.close()

결과 :
Cause I-I-I'm in the stars tonight
So watch me bring the fire and set the night alight
Shoes on, get up in the morn
Cup of milk, let's rock and roll
King Kong, kick the drum, rolling on like a rolling stone
Sing song when I'm walking home
.........

 

파일에 내용 추가하기

기존 파일안에 내용을 추가합니다. 기존 내용은 건드리지 않습니다.

 

▶︎ 사용방법

파일객체 = open("파일명", 'a')

 

▶︎ 예제 코드

코드 :
# 아래 경로에 파일이 있습니다. 파일이 오픈되고 내용이 추가됩니다.
f = open("/Users/phoenix/StudyPython/appendfile.txt", 'a')
for i in range(1, 20):
    data = "%d번째 줄입니다.\n" % i
    f.write(data)
f.close()

결과 :
파일추가 테스트입니다.
1번째 줄입니다.
2번째 줄입니다.
3번째 줄입니다.
...
18번째 줄입니다.
19번째 줄입니다.

 

■ with 이용한 파일 처리

파일예제를 보면 open 이용하여 파일을 열고 close 이용하여 파일을 닫습니다.

처리과정을 자동으로 수가 있는데 이게 바로 with절입니다.

 

▶︎ 사용방법

with open("파일위치", 'w') as f:

    f.write("문자열")

    

▶︎ 예제 코드

코드 :
# 아래 경로에 파일이 생성됩니다. 그리고 내용이 작성됩니다.
with open("/Users/phoenix/StudyPython/file_open_close_test.txt", "w") as f:
    f.write("With절 테스트")

결과 :
해당위치에 파일이 생성되고 파일오픈시 아래 내용이 보입니다.
With절 테스트

 

 

■ 파이선 다른 회차

[Python] Intro : Very Quick Python : https://myinfrabox.tistory.com/169

 

[Python] Intro : Very Quick Python

개인적으로 공부하면서 정리해 놓은 파이선 자료를 업로드합니다. 여기의 내용은 문법에 대한 자세한 설명은 생략합니다. 개발 경험이 있는 분들에게 굳이 문법에 대한 자세한 설명은 필요없으

myinfrabox.tistory.com

[Python] 01.Python 준비 : https://myinfrabox.tistory.com/170

 

[Python] 01.Python 준비

파이선을 처음 접할때 콘솔로 프로그래밍하기 보다는 편리한 IDE툴을 이용해서 접해보기를 권합니다. 보통 프로그래밍을 처음 배울때 날(raw)코딩으로 처음 접하기를 권하고 저또한 마찬가지이

myinfrabox.tistory.com

[Python] 02.Python 스크립트 작성 방법 : https://myinfrabox.tistory.com/171

 

[Python] 02.Python 스크립트 작성 방법

리눅스, 유닉스에서 파이선을 실행시 맨위에 스크립트 종류를 선언합니다. 물론 선언하지 않고도 수행은 가능합니다. 그러나 리눅스, 유닉스에서 실행되는 대부분의 스크립트는 맨위에 특정 스

myinfrabox.tistory.com

[Python] 03.변수 선언 할당 : https://myinfrabox.tistory.com/172

 

[Python] 03.변수 선언 및 할당

1. 변수 할당 파이선에서 변수할당은 다른 스크립트 언어(php, shell script)처럼 특정 스트링을 입력 후 값을 할당합니다. 좌측은 변수명, 우측은 값을 입력합니다. 또한 변수명은 숫자로 시작할 수

myinfrabox.tistory.com

[Python] 04.문자열 처리 : https://myinfrabox.tistory.com/173

 

[Python] 04.문자열 처리

■ 문자열 인덱스 스트링으로 값을 받을때는 자동으로 인덱스 처리가 됩니다. 스트링 인덱스는 0부터 시작되며 끝에서 읽어올 시 -1부터 시작합니다. ▶︎ 사용방법 변수명[1] : 특정 인덱스에 값

myinfrabox.tistory.com

[Python] 05.조건문 : https://myinfrabox.tistory.com/174

 

[Python] 05.조건문

■ 조건문이 참 혹은 거짓일경우. 조건문의 True, False에 따라 그에 맞는 분기를 실행합니다. ▶︎ 사용방법 if 조건문: ▶︎ 예제 코드 코드 : num_a = 2 if num_a > 0: print("num_a가 0보다 큽니다") else: pr..

myinfrabox.tistory.com

[Python] 06.반복문 : https://myinfrabox.tistory.com/175

 

[Python] 06.반복문

■ for문 시퀀스의 모든 요소가 처음부터 마지막 수행될때까지 계속 반복힙ㄴ;디/ ▶︎ 사용방법 for <루프변수> in <튜플, 리스트등의 시퀀스>: ▶︎ 예제 코드 • 예제 1 : 시퀀스의 부분을 순서대

myinfrabox.tistory.com

[Python] 07.튜플(Tuple) : https://myinfrabox.tistory.com/176

 

[Python] 07.튜플(Tuple)

■ 튜플 뒤에서 배울 리스트와 비슷합니다. 데이터를 열거하는 식으로 만듭니다. ()안에 데이터를 열거합니다. 튜플의 특징은 tuple = (1,)처럼 단지 1개의 요소만을 가질 때는 요소 뒤에 콤마(,)를

myinfrabox.tistory.com

[Python] 08.리스트(List) : https://myinfrabox.tistory.com/177

 

[Python] 08.리스트(List)

■ 리스트 선언 리스트를 선언하는 방법입니다. ▶︎ 사용방법 기본적으로 []를 사용해서 선언합니다. ["리스트요소","리스트요소","리스트요소","리스트요소"] ▶︎ 예제 코드 strlist = ["TV","냉장

myinfrabox.tistory.com

[Python] 09.사전(Dictionary) : https://myinfrabox.tistory.com/178

 

[Python] 09.사전(Dictionary)

■ 사전 선언 방법 - 1 컬렉션중 사전을 만드는 방법입니다. 사전은 키:값 방식의 선언 방법입니다. {}(중괄호)문으로 시작합니다. 그리고 key:value방식으로 항목을 만듭니다. ▶︎ 사용방법 사전명

myinfrabox.tistory.com

[Pytho] 10.set : https://myinfrabox.tistory.com/179

 

[Pytho] 10.set

□ set이란? 키만 활용하는 데이터 구조로 이해합니다. 수학에서 집합과 동일한 개념입니다. ■ set 선언 방법 set을 선언하는 방법입니다. ▶︎ 사용방법 set변수 = {항목1, 항목2, ....} ▶︎ 예제 코

myinfrabox.tistory.com

[Python] 11.함수(Function) : https://myinfrabox.tistory.com/180

 

[Python] 11.함수(Function)

□ 사전 습득 지식 : 독 스트링(주석 묶기) 함수에는 보통 함수 명세서라 부르는 주석이 있습니다. 이곳에는 함수의 사용방법, 파라미터등을 설명합니다. 의무는 아니지만 팀으로 개발하는 소스

myinfrabox.tistory.com

[Python] 12.클래스(Class) : https://myinfrabox.tistory.com/181

 

[Python] 12.클래스(Class)

□ 클래스 파이선을 이용하여 클래스를 만들 수 있습니다. 다른 객체지향 언어와 거의 비슷합니다. 클래스를 만들고 객체로 선언하여 사용합니다. 그리고 객체의 메소드를 호출해서 사용합니다

myinfrabox.tistory.com

[Python] 13.외부 클래스 사용하기 : https://myinfrabox.tistory.com/182

 

[Python] 13.외부 클래스 사용하기

□ 외부 클래스 사용하기 파이선에도 여러가지 유용한 클래스를 제공합니다. 수학, 스트링, 랜덤수, 시간등등 여러가지 외부에서 임포트해서 유용하게 사용할 수 있는 여러 클래스를 제공합니

myinfrabox.tistory.com

[Python] 15.MySQL Database : https://myinfrabox.tistory.com/184

 

[Python] 15.MySQL Database

□ MySQL데이터베이스 사용방법 MySQL 데이터베이스에 대해 사용방법을 알아봅니다. DB생성, 테이블 생성-삭제, DML문법을 알아봅니다. ■ 데이터 베이스 사용을 위한 환경설정. 파이선에서 MySQL데이

myinfrabox.tistory.com

 

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

[Python] 15.MySQL Database  (0) 2020.12.30
[Python] 14.파일처리  (0) 2020.12.30
[Python] 13.외부 클래스 사용하기  (0) 2020.12.30
[Python] 12.클래스(Class)  (0) 2020.12.30
[Python] 11.함수(Function)  (0) 2020.12.30
[Pytho] 10.set  (0) 2020.12.30

댓글(0)

Designed by JB FACTORY