open() : 파일 열기read() : 파일 읽기write() : 파일 쓰기close() : 파일 닫기open()로 열기, write()로 쓰기.#파일이 없으면 생성, 있으면 열기
file = open('C:/pythonTxt/text.txt', 'w') # '디렉토리(경로)' , '쓰기'
file.write('Hello Python!!!!') # 파일에 쓰기
실행하면 text파일이 생성되면서 코드에서 쓴 내용이 저장된다.


open()로 열기, read()로 읽기.
file = open('C:/pythonTxt/test.txt', 'r')
str = file.read()
print(f'내용 : {str}')
#출력
내용 : [2023-06-21 13:53:09 PM]running
파일속 내용이 출력 창에 출력된다.
w/a/x/rw 쓰기 전용 (파일이 있으면 덮어씌움)uri = 'C:/pythonTxt/'
# 'w' 다 날리고 덮어씌움
file = open(uri + 'hello.txt', 'w')
file.write('Hello Python~')
file.close()
실행하니, hello.txt가 생기면서 코드에서 적은 내용이 있었다.

a 쓰기 전용 (파일이 있으면 덧붙임)file = open(uri + 'hello.txt', 'a')
file.write('\nNice to meet you!!')
file.close()
실행 후 열어보니 내용이 추가 되어 있었음을 확인.

x 쓰기 전용 (파일이 있으면 에러발생)file = open(uri + 'hello_01.txt', 'x')
file.write('\nNice to meet you!!')
file.close()
실행 후 hello_01 파일이 생성 됨 그리고 코드에서 쓴 내용이 있었다.


r 읽기 전용 (파일이 없으면 에러 발생)file = open(uri + 'hello_01.txt', 'r')
str = file.read()
print(f'string : {str}')
file.close()
코드 실행하면 출력 창에 파일 속 내용이 출력된다.

with ~ as 구문코드가 더 간결해지고 close()를 생략할 수 있다.
file = open(uri + '5_037.txt', 'a')
file.write('python study!!!!')
file.close()
with open(uri + '5_037.txt', 'a') as file:
file.write('python study!!!!!!') # close() 생략
writelines()리스트 또는 튜플 데이터를 파일에 쓰기 위한 함수.
languages = ['c/c++', 'java', 'c#', 'python', 'javascript']
uri = 'C:/pythonTxt/'
for item in languages:
with open(uri + 'languages.txt', 'a') as f:
f.write(item)
f.write('\n')
writelines()를 쓰면 for문 이하의 내용을 좀 더 간결하게 바꿀 수 있다.
languages = ['c/c++', 'java', 'c#', 'python', 'javascript']
uri = 'C:/pythonTxt/'
with open(uri + 'languages.txt', 'a') as file:
file.writelines(item + '\n' for item in languages)
결과

readlines()파일의 모든 데이터를 읽어서 '리스트' 형태로 반환한다.
한줄만 읽으려면 readline()

uri = 'C:/pythonTxt/'
#readlines() - 다 읽기
with open(uri + 'lans.txt', 'r') as f:
lanList = f.readlines()
print(f'lanList : {lanList}')
print(f'lanList type: {type(lanList)}')
print('-'*30)
#readline() - 한줄만 읽기
with open(uri + 'lans.txt', 'r') as f:
line = f.readline()
while line != '':
print(f'{line}', end='')
line = f.readline()
#출력
lanList : ['hello python\n', 'hello c/c++\n', 'hello java\n', 'hello javascript']
lanList type: <class 'list'>
------------------------------
hello python
hello c/c++
hello java
hello javascript