file = open('C:/pythonTxt/text.txt', 'w')
file.write('Hello python')
file.close()
-> 'w': 쓰기모드로 연다는 뜻
-> pythonTxt 경로에 text.txt 파일이 없으면 새로 만들어줌
-> write는 기존문자를 다 없애고 새로운 문자로 덮어버림
-> 반드시 마지막에 파일 닫기!
-> 숫자를 쓸 때는 반드시 str로 캐스팅 해줘야 함
file = open('C:/pythonTxt/test.txt', 'r')
str = file.read()
print(f'str= {str}')
file.close()
-> 'r': 읽기모드로 연다는 뜻
-> 파이썬에 파일 텍스트를 출력함 (자료형은 항상 문자열)
dateStr = '[' + time.strftime('%Y-%m-%d %H:%M:%S %p') + ']'
-> [2023-03-13 14:30:21 PM]으로 출력
-> 시간표현- %H: 14시로 출력, %I : 2시로 출력
-> %m: 월, %M: 분
-> %p: AM/PM
str = str.replace('Python', '파이썬', 2)
-> 문자열에서 'Python'을 '파이썬'으로 수정함. 2개만 수정.
-> str로 텍스트파일을 수정하기 위해서는 write()를 써야 함.
'w' : 쓰기 전용 (파일이 있으면 덮어씌움, 파일이 없으면 새로 만듬) - 새로 쓰는거
'a' : 쓰기 전용 (파일이 있으면 덧붙임, 파일이 없으면 새로 만듬) - 기존 + 추가
'x' : 쓰기 전용 (파일이 있으면 에러 발생, 파일이 없으면 새로 만듬)
'r' : 읽기 전용 (파일이 없으면 에러 발생, 파일이 있을 때만 읽을 수 있음)
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)
-> 입력한 숫자보다 작은 소수들 구하기
with open(uri + '5_037.txt', 'a') as f:
f.write('python study!!')
with open(uri + '5_037.txt', 'r') as f:
print(f.read())
import random
uri = 'C:/pythonTxt/'
def writeNumbers(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))
f.write('\n')
elif idx == (len(nums) - 1):
f.write('bonus: ' + str(num))
f.write('\n')
rNums = random.sample(range(1, 46), 7)
print(f'rNums: {rNums}')
writeNumbers(rNums)
생성된 파일내용
26, 34, 5, 6, 29, 9
bonus: 8
-> idx: nums리스트의 인덱스(순서 0부터 시작)
-> len(nums): nums리스트의 길이(value가 몇 개인지)
-> enumerate(nums): nums리스트의 인덱스와 value를 꺼낼 수 있음
languages = ['c/c++', 'java', 'c#', 'python', 'javascript']
uri = 'C:/pythonTxt/'
with open(uri + 'languages.txt', 'a') as f:
f.writelines(languages)
-> languages리스트의 value를 차례로 파일에 씀
f.writelines(item + '\n' for item in languages)
-> for문을 이용해 개행
print(scoreDic, file=f)
-> 딕셔너리 자체를 그대로 출력
with open(uri + 'lans.txt', 'r') as f:
lanList = f.readlines()
-> 개행을 구분자로 둬서 한 행씩 읽어 각각이 리스트의 value가 됨
with open(uri + 'lans.txt', 'r') as f:
line = f.readline()
while line != '':
print(f'line: {line}', end='')
line = f.readline()
-> while line != '': 라인에 내용이 비어있지 않다면, 출력하라
scoreDic = {}
uri = 'C:/pythonTxt/'
with open(uri + 'scores.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}')
<제로베이스 데이터 취업 스쿨>