[python] 텍스트 파일 다루기

Song A·2024년 6월 17일

기본함수

open() : 열기 -> open(파일명, 모드)
r - 읽기 전용 (파일이 없으면 에러)
w - 쓰기 전용 (파일이 없으면 만들어서 씀, 기존 글 지우고 다시 씀!!)
a - 쓰기 전용 (파일이 있으면 덧붙임)
x - 쓰기 전용 (파일이 있으면 에러)

read() : 읽기
write() : 쓰기
close() : 닫기

# 쓰기 모드로 파일 열기
file = open(r"C:\Users\<user>\PycharmProjects\pythonEx\txttest\test.txt", 'w') 
strCnt = file.write("This is test.txt") # 'strCnt'는 문자열의 길이를 반환
file.close() # 파일 닫기
# 읽기 모드로 파일 열기
file = open(r"C:\Users\<user>\PycharmProjects\pythonEx\txttest\test.txt", 'r', encoding='UTF8') # encoding='UTF8'는 필요에 의해서
str = file.read() # 문자열로 읽어옴
file.close() # 파일 닫기

파일 닫기 생략

with-as 문
파일 닫기 생략 가능

with open(uri+"\\test10.txt", 'w') as f:
    f.write("test_again")

with open(uri + "\\test10.txt", 'r') as f:
    print(f.read())

writelines()

리스트 또는 튜플 데이터를 파일에 쓰기 위한 함수

languages = ['C', 'C++', "java", 'python']

for item in languages:
    with open(uri+"\\test10.txt", 'a') as f:
        f.write(item+"\n")

with open(uri+"\\test11.txt", 'a') as f:
    # f.writelines(languages
    f.writelines(item + '\n' for item in languages)
with open(uri+"\\test12.txt", 'a') as f: # dic, list 자체로 저장하기
    print(testDic, file=f)

readlines(), readline()

readlines()

여러 줄 읽기
파일의 모든 데이터를 읽어서 리스트 형태로 변환

with open(uri+"\\test10.txt", 'r') as f:
    lanList = f.readlines()
print(lanList)

readline()

한줄 읽기
한 행을 읽어서 문자열로 반환

with open(uri+"\\test10.txt", 'r') as f:
    line = f.readline()
    while line !='':
        print(line, end='') # print()의 개행과, 라인의 개행이 존재하기 때문에 줄바꿈이 2번 일어난다. -> end=''로 한번 제거
        line = f.readline()

+a

time.strftime('%Y-%m-%d %I:%M:%S %p') # 년-월-일 시:분:초 PM
데이터.replace('파이썬', 'Python', 2) # 파이썬을 Python으로 앞에서 2개까지 변경
데이터.split(':') # : 기준으로 데이터 나누기
데이터.strip('\n') # \n 없애기

profile
진행중

0개의 댓글