<내용정리>
- 관련 파일
- 본문
## 모듈과 조건문을 이용한 계절 구하기
import datetime
now = datetime.datetime.now() # 현재 날짜와 시간을 가져온다(PC로부터)
m = now.month # 추출한 날짜/시간 변수에 있는 월만 따로 추출해서 m변수에 저장
if 3 <= m <= 5:
print('spring')
elif 6 <= m <= 8:
print('summer')
elif 9 <= m <= 11:
print('atumn')
else:
print('winter')
# ex) 모듈을 이용한 속으로 10초 세어 맞히는 프로그램
import time
input('엔터를 누르고 10초를 셉니다')
start = time.time() # 현재 시간을 저장
input('10초 후에 다시 엔터를 누릅니다')
end = time.time()
es = end - start
print(f'실제 걸린 시간 : {es}초')
print(f'내가 예측한 시간의 차이 : {abs(es-10)}초') # abs() --> 절대값
from datetime import *
start = datetime.now() # 계산하기 전 현재 시간
total = 0
for num in range(1, 10000001):
total += num
end = datetime.now() # 계산 완료 후 현재 시간
elapse = end - start
elapse = elapse.total_seconds() # 초 단위로 변환하여 다시 저장
print(f'총 합은 {total}')
print(f'총 {elapse}초가 소요되었습니다')
### 파일 입출력
## 파일 생성하고 문자열 쓰기
<형식> (기본 문법)
파일객체명 = open('파일 이름', 'w') # 파일 열기
파일객체명.write('문자열')
파일객체명.write(str(숫자)) # write 함수는 문자열 형식만 가능
파일객체명.close() # 파일 닫기
<형식> (리스트 사용)
리스트명 = [값1, 값2, ...]
파일객체명 = open('파일 이름', 'w')
파일객체명.writelines(리스트명)
파일객체명.close()
# ex)
file = open('hello.txt', 'w') # 파일 열기(쓰기모드 == w)
file.write('hello world')
file.close()
# ex) for문을 이용해서 파일에 문자열 쓰기
file = open('hello.txt', 'w') # 상대경로
# 'c:/a/hello.txt' --> c드라이브 안에 a라는 폴더에 hello.txt를 생성한다(절대경로) * /, \ 둘 다 사용 가능
for i in range(1, 11):
data = f'{i}번째 줄입니다.\n'
file.write(data)
file.close()
# ex) for문을 이용해서 파일에 새로운 내용을 추가하기
file = open('hello txt', 'a')
for i in range(11, 21):
data = f'{i}번째 줄입니다!!!!!! \n'
file.write(data)
file.close()
## 파일에서 문자열 읽기
<형식>
파일객체명 = open('파일이름', 'r')
변수명 = 파일객체명.read()
파일객체명.close()
print(변수명) # 화면으로 보고싶을 때 사용
# ex)
f = open('hello txt', 'r')
temp = f.read()
f.close()
print(temp)
## 파일에서 여러 줄을 리스트로 각각 읽기
<형식>
파일객체명 = open('파일이름', 'r')
리스트명 = 파일객체명.readlines()
파일객체명.close()
print(리스트명)
# ex)
f = open('hello txt', 'r')
list = f.readlines()
f.close()
print(list)
for i in lines:
print(i, end='') # print함수에 있는 엔터 기능을 없앤다
## with문과 함께 파일 입출력하기
파일을 열면 항상 close 해줘야 하는 불편함을 덜어주는 기능
<형식>
with open('파일 이름', '파일 열기 모드') as 파일객체명:
수행할 코드
# ex)
li = ['Hello\n', 'world\n', 'python\n', 'coding\n']
with open('file.txt', 'w') as f:
f.writelines(li) # 리스트를 파일에 쓸 때
f.write('lol\n')
f.write('~~~~~~~\n')
with open('file.txt', 'r') as f:
temp = f.read() # 파일의 내용을 모두 읽어 temp변수에 담았다
print(temp)
# p232
import time
file = open(time.strftime('%Y-%m-%d') + '.txt', 'at')
while True:
schedule = input('오늘의 스케줄을 입력하세요 : ')
if not schedule:
break
file.write(schedule + '\n')
file.close()
# ex)
file = open('엄마돼지아기돼지.txt', 'rt')
line_list = file.readlines()
count = 0
for line in line_list:
for ch in line:
if ch == '꿀':
count += 1
file.close()
print(f'꿀은 전체 {count}번 나타납니다')
- 문제 및 정답
# 파일 입출력
''''''
'''
[문제]
새로운 텍스트 파일 Text.txt를 추가하고 1부터 10까지의 수가 입력되도록 저장하여라.
[파일 출력결과]
12345678910
'''
# #1
# file = open('Text.txt', 'w')
# file.write('1, 2, 3, 4, 5, 6, 7, 8, 9, 10')
# file.close()
#
# #2
# file = open('Text.txt', 'w')
# for i in range(1, 11):
# file.write(str(i))
# file.close()
#
# #3
# with open('Text.txt', 'w') as file:
# for i in range(1, 11):
# file.write(str(i))
'''
[문제]
새로운 텍스트 파일 loop.txt를 생성하되, 파일열기모드를 추가모드로 한다.
1부터 100까지 한 칸씩만 띄우고 모두 한 줄에 저장한다.
[파일 출력결과]
숫자 1 숫자 2 ..... 숫자 99 숫자 100
'''
# file = open('loop.txt', 'a')
# for i in range(1, 101):
# w = f'숫자 {i} '
# file.write(w)
# file.close()
'''
[문제]
practice.txt를 만들어 “제1의아해가무섭다고그리오.”부터 “제5의아해가무섭다고그리오.”까지
순서대로 한 줄에 하나씩 입력하여 저장하시오.
그리고 그 파일을 열어 파이썬화면에서 출력하시오
[화면 출력결과]
제1의아해가무섭다고그리오.
제2의아해가무섭다고그리오.
제3의아해가무섭다고그리오.
제4의아해가무섭다고그리오.
제5의아해가무섭다고그리오.
'''
file = open('practice.txt', 'w')
# for i in range(1, 6):
# w = f'제{i}의아해가무섭다고그리오\n'
# file.write(w)
# file.close()
#
# file = open('practice.txt', 'r')
# i = file.read()
# file.close()
# print(i)
'학부 자료 > Python' 카테고리의 다른 글
[Python] 파이썬 기초 13/20, 클래스와 객체 (2) | 2023.11.07 |
---|---|
[Python] 파이썬 기초 12/20, 파일 입출력의 활용 (1) | 2023.11.07 |
[Python] 파이썬 기초 10/20, 람다 표현식(lambda expression) (0) | 2023.11.07 |
[Python] 파이썬 기초 9/20, 사용자 함수 (1) | 2023.11.07 |
[Python] 파이썬 기초 8/20, 시퀀스 내장 함수, 메소드 (0) | 2023.11.07 |