Python에서 파일을 통한 입출력 방법에 대해 알아봅니다.
파일_객체 = open(파일_이름, 파일_열기_모드) : 프로그램을 실행한 디렉터리에 새로운 파일이 생성.f.close(): 열려 있는 파일 객체를 닫는다.f = open("C:/doit/새파일.txt", 'w')
f.close()
f = open("C:/doit/새파일.txt", 'w')
for i in range(1, 11):
data = "%d번째 줄입니다.\n" % i
f.write(data)
f.close()
f.write(data): 모니터 화면 대신 파일에 데이터를 적는 방법.print(data): 모니터 화면에 데이터를 출력하는 방법.readline(): 파일의 첫 번째 줄을 읽음.f = open("C:/doit/새파일.txt", 'r') # ‘새파일.txt’ 파일을 읽기 모드로 연 후
line = f.readline() # readline()을 사용해서 파일의 첫 번째 줄을 읽어
print(line) # 출력
f.close()
f = open("C:/doit/새파일.txt", 'r')
while True:
line = f.readline()
if not line: break # 더 이상 읽을 줄이 없으면 break
print(line)
f.close()
readlines(): 파일의 모든 줄을 읽어서 각각의 줄을 요소로 가지는 리스트.f = open("C:/doit/새파일.txt", 'r')
lines = f.readlines() # ["1번째 줄입니다.\n", "2번째 줄입니다.\n", ..., "10번째 줄입니다.\n"]
for line in lines:
print(line)
f.close()
strip(): 파일을 읽을 때 줄 끝의 줄 바꿈(\n) 문자를 제거하고 사용해야 할 경우.f = open("C:/doit/새파일.txt", 'r')
lines = f.readlines()
for line in lines:
line = line.strip() # 줄 끝의 줄 바꿈 문자를 제거한다.
print(line)
f.close()
read(): 파일의 내용 전체를 문자열로 반환.f = open("C:/doit/새파일.txt", 'r')
data = f.read()
print(data)
f.close()
f = open("C:/doit/새파일.txt", 'r')
for line in f:
print(line)
f.close()
f = open("C:/doit/새파일.txt",'a')
for i in range(11, 20):
data = "%d번째 줄입니다.\n" % i
f.write(data)
f.close()
with: 파일을 열고 닫는 것을 자동으로 처리. with 블록(with 문에 속해 있는 문장)을 벗어나는 순간, 열린 파일 객체가 자동으로 닫힌다.with open("foo.txt", "w") as f:
f.write("Life is too short, you need python")
def my_function():
func_var = "함수 안의 변수"
my_function()
# print(func_var) # 오류! 함수 밖에서는 접근 불가
# if 문 블록의 예
if True:
if_var = "if 블록 안의 변수"
print(if_var) # 정상 작동! "if 블록 안의 변수" 출력
# for 문 블록의 예
for i in range(3):
loop_var = "반복문 안의 변수"
print(i) # 정상 작동! 2 출력
print(loop_var) # 정상 작동! "반복문 안의 변수" 출력
# with 문에서 변수 사용 예제
with open("test.txt", "w") as f:
content = "Hello, Python!" # with 블록 내에서 변수 선언
f.write(content)
print(content) # with 블록을 벗어난 후에도 변수에 접근 가능 # "Hello, Python!" 출력
# 한글 파일 쓰기
with open("한글파일.txt", "w", encoding="utf-8") as f:
f.write("안녕하세요, 파이썬!")
# 한글 파일 읽기
with open("한글파일.txt", "r", encoding="utf-8") as f:
content = f.read()
print(content)