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())
리스트 또는 튜플 데이터를 파일에 쓰기 위한 함수
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)
여러 줄 읽기
파일의 모든 데이터를 읽어서 리스트 형태로 변환
with open(uri+"\\test10.txt", 'r') as f:
lanList = f.readlines()
print(lanList)
한줄 읽기
한 행을 읽어서 문자열로 반환
with open(uri+"\\test10.txt", 'r') as f:
line = f.readline()
while line !='':
print(line, end='') # print()의 개행과, 라인의 개행이 존재하기 때문에 줄바꿈이 2번 일어난다. -> end=''로 한번 제거
line = f.readline()
time.strftime('%Y-%m-%d %I:%M:%S %p') # 년-월-일 시:분:초 PM
데이터.replace('파이썬', 'Python', 2) # 파이썬을 Python으로 앞에서 2개까지 변경
데이터.split(':') # : 기준으로 데이터 나누기
데이터.strip('\n') # \n 없애기