Python 중급 6.

yoong·2023년 4월 17일

1. Python

목록 보기
15/21

Python 중급 6

.

01.파일 쓰기

: mac의 경우, 탐색기(폴더창) 클릭후 option키를 누르면 '경로복사'가 가능함!

file = open('//Users/macbookname/Desktop/pythontxt.txt','w')

strCnt = file.write('Hello world')
print(f'strCnt: {strCnt}')

file.close()

[실습]


import time

lt =time.localtime()

dateStr = '[' + str(lt.tm_year) + '년' + \
        str(lt.tm_mon) + '월' + str(lt.tm_mday) +'일]'

todaySchedule = input('오늘 일정: ')

file = open('//경로/dayMemo.txt','w')
file.write(dateStr + todaySchedule)

file.close()

02.파일 읽기

:read()함수를 이용한 파일 문자열 읽기

(참고) date string


dateStr ='[' time.strftime('%Y-%m-%d %H:%M:%S') +']'

dateStr ='[' time.strftime('%Y-%m-%d %I:%M:%S') +']'

(참고) 문자 바꾸고 싶을 때(python to 파이썬)

file =open('//Users/macbookname/Desktop/pythontxt.txt','r', encoding='UTF8')

str = file.read()
print(f'str: {str}')

file.close()

str = str.replace('Python','파이썬',2)
print(f'str: {str}')

file =open('//Users/macbookname/Desktop/pythontxt.txt','w', ) #기존에 있는 내용위에 덮어버림 
file.write(str)
file.close()

03.파일 열기

1. 파일모드

  • 'w' : 쓰기 전용 (파일이 있으면 덮어 씌움)
  • 'a' : 쓰기 전용 (파일이 있으면 덧붙임)
  • 'x' : 쓰기 전용 (파일이 있으면 에러 발생)
  • 'r' : 읽기 전용 (파일이 없으면 에러 발생)

[실습]

#사용자가 입력한 값의 소수 구하는 프로그램 

uri = '//Users/***/Desktop/pythontxt/'

def writePrimeNumber(n):
    file = open(uri + 'prime_number.txt','a')
    file.write(str(n))
    file.write('\n')
    file.close()

userInputNum = int(input('0보다 큰 정수 입력: '))
for number in range(2, (userInputNum + 1)):
    flag = True
    for n in range(2 , number):
        if number % n == 0:
            flag = False
            break

    if(flag):
        writePrimeNumber(number)

2. with ~ as문

: 파일 닫기(close)를 생략 할 수 있음.

[실습]

#로또 보너스 

import random

uri = '//Users/***/Desktop/pythontxt/'

def writeNumbers(nums):
    for idx , num in enumerate(nums):
        with open(uri+ 'lottery.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('Bonust:' + str(num))
                f.write('\n')


rNums = random.sample(range(1,46),7)
print(f'rNums: {rNums}') 

writeNumbers(rNums)

04.Writelines()

: writeline()는 리스트(list) 또는 튜플 데이터를 파일에 쓰기 위한 함수

Reference

  • 이글은 제로베이스 데이터 취업 스쿨의 강의자료 일부를 발췌하여 작성되었음.
  • 맥북 파일쓰기/열기
    https://ordo.tistory.com/29
profile
데이터와 이미지로 세상을 공부하는 중입니다 :)

0개의 댓글