본문 바로가기
개발&코딩/Python

[Python] - Socket Programming 의 기초 파일 입출력

by 우동이 2020. 9. 8.
300x250

Socket programming은 파일과 네트워크를 다루는 분야이며

프로그래밍을 어느 정도 배운 후 다루게 되는 나름 고급 프로그래밍의 분야이다

대부분의 코딩 언어는 파일 입출력의 기본적인 내용을 통해 네트워크와 socket에 대해 다루는데

그 기초에 대해서 알아보도록 하자.

 

파일열기 - open()

f=open("C:\\test.txt","w")
f.close()

파일을 여는 방법은 생각보다 간단하다

그리고 그 어떤 언어보다 python만큼 빠르게 파일 오픈이 가능한 언어는 없을 것이다

f는 파일객체로써 열 파일이 된다고 생각하면 된다

파일이 위치할 경로를 설정해주고 파일을 어떤 용도로 열 것인지 모드를 작성해주면 된다

 

read(r) 모드는 파일을 열 기만 하는 read 모드

write(w) 모드는 파일에 내용을 작성하는 write 모드

a 모드는 파일의 끝에 내용을 추가한다

 

주로 r,w,a 세가지 모드를 자주 사용한다.

위 코드를 실행하면 작성해둔 경로에 파일이 생성될 것이다

w모드로 open했지만 내용은 별도로 넣지 않았기에 파일만 생길 것이다

 

그리고 주의할 점이 파일은 open 후 무조건 닫아줘야 한다

닫는 기능은 close()함수가 수행한다.

 

파일 오픈 후 파일작성 - write()

f = open("C:\\test.txt","w")
f.write("Python is powerful")
f.close()

이제 파일에 내용을 작성해보자

파일을 w 모드로 open 하고 

write()함수를 사용해야 한다

작성할 파일객체.write("작성할 내용") 

내용을 작성해서 코드를 실행시키면

경로에 있는 test.txt에 Python is powerful이라는 문자열이 작성되어 있음을 알 수 있다.

 

 

파일 읽어오기 - readline(),read(),readlines()

f=open("C:\\test.txt","r")
data=f.read() #파일전체 읽어오기
data=f.readlines() # 파일에 존재하는 모든 문자열 불러오기
data=f.readline() # 마지막 한줄만 읽어오기
f.close()

파일을 작성했으면 이제 작성된 파일에서 내용을 읽어와보도록 하자

r모드로 파일을 open한 후 불러오는 함수는 3가지가 있는데

readline(), read(), readlines() 각각 내용을 불러오는 함수로 기능은 비슷하지만 

차이가 존재한다.

readline()은 마지막 한 줄만 읽어오고

readlines()은 모든 문자열을 불러온다

read는 파일 전체

만약 지금처럼 짧은 문자열이 아닌 어마어마한 정보를 다루는 실무라고 생각하면

각각에 맞는 용도의 함수를 적절히 써야할 것이다.

 

파일을 더 쉽고 빠르게 open하고 close - with as

with open("C:\\test.txt","a") as f:
    f.write("python is so easy")

file을 open하고나면 close()함수를 이용해 무조건 닫아줘야 한다

하지만 이는 with as 문을 사용하면 굳이 close()를 통하지 않아도 기능할 수 있다.

 

300x250

댓글