def open(file, mode='r',
		 buffering=None, encoding=None, errors=None, newline=None, closefd=True):
	pass
  • mode:
    • r : read
    • w : write, 만약 파일이 존재하면 커서를 맨 앞으로 돌리면서 뒤 내용을 잘라냄
    • a : ‘w’와 달리 이미 존재하는 파일 뒤에 이어쓰기 가능
    • x : 파일이 없으면 파일을 생성하고 쓰기모드, 파일이 있으면 에러를 발생
      • ‘b’ : 는 바이너리 모드인데 ‘rb’ 이런 식으로 모드 진입이 가능
f = opne("input.txt", "r", encoding="UTF-8")
f.seek(3) # 한글은 유니코드로 실행될때 3byte를 차지함
data = f.read()
print(data)
f.close()
 
 
count = 0
while count < 3:
	data = f.readline() # 줄마다 읽을수 있음
	count += 1
	print("%d번째줄: %s" %(count, data), end=' ')
f.close()
 
 
data = f.readlines() # 각 줄을 리스트에 담아줌
print(data)
# ["1번째줄\n", "2번쨰줄\n", "3번쨰줄\n"]
f.close()
 
 
with open("input.txt", "r", encoding="UTF-8") as f:
	list = f.readlines()
	for i, data in enumerate(list):
		print("%d번쨰 줄: %s", %(i, data), end=" ") # data안에 이미 줄바꿈있
 
 
def process(filename):
	with open(filename, "r") as f:
		dict = {}
		data = f.read()
		for i in data:
			if i in dict:
				dict[i] += 1
			else:
				dict[i] = 1
	return dict
dict = process("input.txt")
# value를 기준으로 내림차순으로 정렬
dict = sorted(dict.items(), key=lambda a:a[1], reverse=True)
with open("index.txt", 'w') as f:
	f.write('I am writing a file\n')
	f.writelines('\n'.join(['line1', 'line2', 'line3']))

참고자료 :