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']))
참고자료 :