728x90
반응형
(문제)
텍스트 파일 불러와서
파일의 모든 줄에서 랜덤한 줄을 하나를 골라
해당 줄을 input 으로 입력받은 내용으로 변경하고 저장하고 싶어요.
data.txt 의 내용을 수정하고 싶어요
원래 변수 s 가 있었던 줄의 내용을 input 으로 입력받아서 파일 내용을 수정.
(방법)
import random
f = open('data02.txt','r') # 파일 읽기
lines = f.readlines() # 파일의 모든 라인데이터 읽기
size = len(lines) # 파일의 줄 수 확인
f.close() # 파일 닫기
n = random.randint(0, size-1) # 임의의 줄 선택
in_s = input(f'[{lines[n].strip()}] 수정 내용 입력 : ') # 선택한 줄 보여주고 수정 문자열 입력 받기
f = open('data02.txt','w') # 쓰기 파일로 열기
for c, li in enumerate(lines): # 한 줄씩 번호화 문장 읽기
# print(li)
ss = li # 쓰기용 변수에 읽은 라인 대입
if c == n: # 입력 받은 라인과 같은 라인이면
ss = in_s + '\n' # 입력 받은 문자열로 변경
f.write(ss) # 파일에 쓰기
f.close()
728x90
반응형
'프로그램' 카테고리의 다른 글
[코틀린] Kotlin : Null / 세이프콜연산자 / 엘비스연산자 / 확정연산자 / 늦은초기화(lateinit, lazy) (0) | 2022.12.30 |
---|---|
[코틀린] Kotlin : 컬렉션(Collection, List, Set, Map) (0) | 2022.12.29 |
[파이썬] 문제 : 정해진 범위 소수 찾기(Sieve of Erastosthenes알고리즘) (0) | 2022.12.29 |
[파이썬] 문제 : 동전 전지기 10번, 앞면/뒷면 연속 나오는 위치 찾기 (0) | 2022.12.29 |
[파이썬] 문제 : 과일 속성(단단한과일,물렁한과일 등)으로 과일 추천 (0) | 2022.12.29 |
댓글