open() : 파일 열기
read() or write() : 읽기 또는 쓰기
close() : 파일 닫기
파일 모드는 파일을 어떤 목적으로 open 할지에 따라 결정
'w' : 쓰기 전용(파일이 있으면 덮어씌움)
'a' : 쓰기 전용(파일이 있으면 덧붙임)
'x' : 쓰기 전용(파일이 있으면 에러 발생)
'r' : 읽기 전용(파일이 없으면 에러 발생)
# write()
file = open('C:/pythonTxt/test.txt','w')
strCnt = file.write('Hello world ~')
print(f'strCnt = {strCnt}')
file.close()
# 시스템 시간과 일정을 텍스트 파일에 작성
import time
lt = time.localtime()
dataStr = '[' + str(lt.tm_year) + '년' + str(lt.tm_mon) + '월' + str(lt.tm_mday) + '일' + '] '
todaySchedule = input('오늘 일정 : ')
file = open('C:/pythonTxt/test.txt','w')
file.write(dataStr + todaySchedule)
file.close()
# 사용자가 입력한 숫자에 대한 소수를 구하고 이를 파일에 작성해보자
uri = 'C:/pythonTxt/'
def writePrimeNumber(n) :
file = open(uri + 'prime_numbers.txt', 'a')
file.write(str(n))
file.write('\n')
file.close()
inputNumber = int(input('0보다 큰 점수 입력 : '))
for number in range(2, (inputNumber+1)) :
flag = True
for n in range(2,number) :
if number % n == 0 :
flag = False
break
if (flag) :
writePrimeNumber(number)
file = open(uri + '5_037.txt','a')
file.write('python study !')
file.close()
close( ) 생략 가능
with open(uri + '5_037.txt','a') as f :
f.write('python study ~!')
# 로또 번호 생성기 프로그램을 만들고 파일에 번호를 출력
import random
uri = 'C:/pythonTxt/'
def writeNumbrs(nums) :
for idx, num in enumerate(nums) :
with open(uri + 'lotto.txt', 'a') as f :
if idx < (len(nums) - 2) :
f.write(str(num) + ',')
elif idx == (len(nums) - 2) :
f.write(str(num))
elif idx == (len(nums) - 1) :
f.write('\n')
f.write('bonus : ' + str(num))
f.write('\n')
rNums = random.sample(range(1,46),7)
print(f'rNums : {rNums}')
writeNumbrs(rNums)
list, tuple data를 추가할 수 있음
languages = ['c/c++', 'java', 'c#', 'python', 'javasript']
uri = 'C:/pythonTxt/'
for item in languages :
with open(uri + 'languages.txt','a') as f :
f.write(item)
f.write('\n')
languages = ['c/c++', 'java', 'c#', 'python', 'javasript']
uri = 'C:/pythonTxt/'
with open(uri + 'languages.txt','a') as f :
f.writelines(languages)
# 딕셔너리에 저장된 과목별 점수를 파일에 저장하는 코드 작성
scoreDic = {'kor' : 85, 'eng' : 90, 'mat' : 92, 'sci' : 79, 'his' : 82}
uri = 'C:/pythonTxt/'
for key in scoreDic.keys() :
with open(uri + 'scoreDic.txt','a') as f :
f.write(key + '\t' + str(scoreDic[key]) + '\n')
# 파일에 저장된 과목별 점수를 파이썬에서 읽은 후, 딕셔너리에 저장하는 코드 작성
scoreDic = {}
uri = 'C:/pythonTxt/'
with open(uri + 'score.txt', 'r') as f :
line = f.readline() # 이 줄이 없으면 데이터를 읽을 수 없음
while line != '' :
tempList = line.split(':')
scoreDic[tempList[0]] = int(tempList[1].strip('\n'))
line = f.readline() # 이 줄이 없으면 무한반복됨
print(f'scoreDic : {scoreDic}')