강의목표
1. OS모듈의 내용을 살펴보고 운영체제의 값을 구현하는 클래스와 메소드를 활용할 수 있다.
2. 파일의 입출력을 구현할 수 있다.
============================================================================
OS : 운영체제와 관련된 기능을 가진 모듈
import os
print("현재 운영체제 :", os.name)
print("현재 폴더 :", os.getcwd())
# 폴더 만들기/지우기
os.mkdir("test") # 현재 경로에서 바로 아래만. 한번에 깊게 만들려면 mkdirs()
os.rmdir("test") # 폴더가 비어있야 제거 가능.
# 파일 이름변경/지우기. 파일이 있어야 함
os.rename("old.txt", "new.txt")
os.remove("new.txt") # == os.unlink()
# os.path를 활용한 파일경로 및 파일이름 분할
file = 'c:\\test\\b.txt'
a = os.path.basename(file) # 파일이름만 분할
b = os.path.split(file) # 파일경로와 파일이름을 분할하여 튜플로 리턴
c = os.path.normpath(file) # 리눅스, 윈도우에서 경로로 인식한다.
print(a)
print(b)
print(c)
#result
b.txt
('c:\\test', 'b.txt')
c:\test\b.txt
============================================================================
파일 입출력
1. byte = 이미지, 동영상, 음성
2. 문자 = txt
3. object = 동일한 패턴, 자주사용하는 패턴 --> Class --> 객체생성 --> 입출력
[형식]
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
open() --> write()/read() --> close()의 형식을 취한다.
content = "Hello Python!"
f = open("content.txt", 'w') # 현재 디렉토리에 data.txt 파일을 쓰기전용으로 생성 후 내용 저장
f.write(content)
f.close()
f = open("content.txt", 'r')
print(f.read())
f.close()
#result
Hello Python!
with ~ as 문을 활용하여 close()가 자동으로 되는 파일입출력 형식
content = "Hello Python!"
with open("content.txt", 'w') as f:
f.write(content)
with open("content.txt",'r') as f:
print(f.read())
#result
Hello Python!
readline()은 함수가 실행될 때마다 한 줄씩 읽어온다.
readlines()는 함수가 실행되면 한 줄씩 읽어서 리스트에 넣어 리턴한다.
print("=======case1=========")
f = open("content.txt", 'r')
line = f.readline()
while line:
print(line)
line = f.readline()
f.close()
print("=======case2=========")
f = open("content.txt", 'r')
while True:
line = f.readline()
if not line:
break
print(line)
f.close()
print("=======case3=========")
f = open("content.txt", 'r')
for line in f:
print(line, end="")
f.close()
'데이터과학자 - 강의 > python' 카테고리의 다른 글
210506 python - exception, decimal (0) | 2021.05.06 |
---|---|
210503 python day-12 : file i/o (0) | 2021.05.04 |
210429 python day-10 : 다중상속, 다형성 (0) | 2021.04.29 |
210428 python day-09 : 상속 (0) | 2021.04.28 |
210427 python day-08 : 클래스 (0) | 2021.04.27 |