AboutPython
[파이썬] 텍스트파일 쓰기
scone
2022. 5. 5. 21:05
[기본 함수]
- open(), read(), write(), close() 를 이용한 텍스트 파일 다루기
- file = open('어느 디렉토리의, 어떤 파일인지 파일 주소', 'w')
: 파일 생성 또는 존재하는 파일을 연다.
: 두번째 인수 'w'는 쓰기 모드를 의미한다.
: 'r' 로 쓸 경우 읽기 모드를 말한다. - file.write('쓸 내용')
파일에 쓸 내용이 적힌다.
write() 는 쓸 내용에 문자가 몇개나 들어갔는지 그 값을 반환한다.
ex) write('hello world!') 의 값은 12이다.
- 시행 착오 1. SyntaxError
file = open('C:\Users\Jupiter\Desktop\mygit\LearnInZeroBase\pythonTxt\test.txt','w')
strCnt = file.write('hello world!')
print(f'strCnt : {strCnt}')
file.close()
'''
PS C:\Users\Jupiter\Desktop\mygit\LearnInZeroBase> & C:/Users/Jupiter/AppData/Local/Programs/Python/Python310/python.exe "c:/Users/Jupiter/Desktop/mygit/LearnInZeroBase/파이썬 중급/22_텍스트파일.py"
File "c:\Users\Jupiter\Desktop\mygit\LearnInZeroBase\파이썬 중급\22_텍스트파일.py", line 1
file = open('C:\Users\Jupiter\Desktop\mygit\LearnInZeroBase\pythonTxt\test.txt','w')
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
'''
파일을 불러올 때 / 대신 \로 불러오면, 경로로 표시한 부분이 유니코드로 인식되어 발생하는 오류라고 한다.
따라서 경로를 표시할 때 \가 아니라 /로 표시하면 된다고 한다.
또는 \대신 \\를 표시하면 된다.
- open(), write(), close()
file = open('C:\\Users\\Jupiter\\Desktop\\mygit\\LearnInZeroBase\\pythonTxt\\test.txt','w')
strCnt = file.write('hello world!')
print(f'strCnt : {strCnt}')
file.close()
'''
strCnt : 12
'''
[실습] 시스템 시간과 일정을 텍스트 파일에 작성해 보자.
import time
lt = time.localtime()
dateStr = '[' + str(lt.tm_year) +'년 '+str(lt.tm_mon)+'월 '\
+str(lt.tm_mday)+'일] '
todaySchedule = input('오늘 일정 : ')
file = open('C:\\Users\\Jupiter\\Desktop\\mygit\\LearnInZeroBase\\pythonTxt\\practice01.txt','w')
file.write(dateStr+todaySchedule)
file.close()
'''
오늘 일정 : 방청소
'''
- time.strftime() 을 쓰면 더 깔끔하게 적을 수 있다고 해서 가지고 왔습니다.
import time
dateStr = '[' + time.strftime('%Y-%m-%d %H:%M:%S %p') + ']'
todaySchedule = input('집안 일정 :')
file=open('C:\\Users\\Jupiter\\Desktop\\mygit\\LearnInZeroBase\\pythonTxt\\practice02.txt', 'w')
file.write(dateStr + todaySchedule)
file.close()
time.strftime() : string 으로 만드는 time format 이라는 뜻 갖습니다.
%Y : 로칼 타임 년도
%m : 로칼 타임 월 (소문자임에 주의하십시오)
%d : 로칼 타일 일
%H : 로칼 타임 시
%M : 로칼 타임 분
%S : 로칼 타임 초
%p : 로칼 타임 오후인지 오전인지
%I : 로칼 타임 시, 13시, 14시 이렇게 말고 1시 2시 이렇게 나타낼 때
더 많은 것들이 있겠지만 생략하고 여기서 마무리하겠습니다.