반응형

외장함수중 하나인 OS 모듈이란 ?

- 환경 변수나 디렉터리, 파일 등의 OS 자원을 제어한다.

 

디렉터리의 위치를 돌려받고 싶은 경우 - os.getcwd()

import os

print(os.getcwd())



출력 결과
자신이 사용하고 있는 파이썬 저장 경로가 출력됩니다

 

파일 읽기 

 

파일을 불러올 txt 파일

 

ftest.txt

푸른하늘
은하수
하얀 쪽배에

 

 

import os

print(os.getcwd())

try:
    print(os.getcwd())

    print('파일 읽기')
    f1 = open(r'ftest.txt', mode='r', encoding='utf-8') # open 장치 열고
    print(f1.read())
    f1.close()
    
    
    
except Exception as e:
    print(e)
        
    
    
출력 결과

파일 읽기
푸른하늘
은하수
하얀 쪽배에

 

파일 저장

 

import os

print(os.getcwd())

try:
    print(os.getcwd())
    
    print('파일 저장 ')
    f2 = open('ftest2.txt', mode='w', encoding='utf-8')
    f2.write('kbs\n')
    f2.write('월요일 아침\n')
    f2.write('mbc11')
    f2.close()
    print('저장성공')
    
    
except Exception as e:
    print(e)
        
    
    
출력 결과

파일 저장 
저장성공

 

다음과 같이 출력이 되면서 해당 경로에

 

ftest2.txt 파일이 생성됩니다.

 

 

파일 추가

import os

print(os.getcwd())

try:
    print(os.getcwd())
print('파일 추가')
    f3 = open('ftest2.txt', mode='a', encoding='utf-8')
    f3.write('sbs\n')
    f3.write('홍길동\n')
    f3.close()
    print(' 추가 성공')
    
    
except Exception as e:
    print(e)
        
        
출력 결과

파일 추가
 추가 성공

 

위와 같은 출력 결과가 나타나면서 파일이 추가 된 것을 알 수 있습니다.

 

 

 

여러 종류의 객체 저장 및 읽는 방법은 pickle 외장 함수를 사용한다.

 

pickle 이란 ?

 

- 객체의 형태를 그대로 유지하고, 파일에 저장하고 읽기가 가능한 모듈이다.

 

import pickle
        
try:        
    dicdata = {'tom':'111-1111', '길동':'222-2222'}
    listdata = ['마우스','키보드']
    tupledata = (dicdata, listdata) # 복합 개체
    
    with open('hi.dat', 'wb') as ff3:
        pickle.dump(tupledata, ff3)
        pickle.dump(listdata, ff3)
        
    print('읽기')
    with open('hi.dat', 'rb') as ff4:
        a,b = pickle.load(ff4)
        print(a)
        print(b)
    
except Exception as err:
    print('에러 : ',err)
    
   
   
출력 결과

{'tom': '111-1111', '길동': '222-2222'}
['마우스', '키보드']

소스코드에서 딕셔너리 자료와 리스트 자료를 만들고 튜플 자료에 두개의 개체를 넣어서 복합 개체로 정의해주었습니다.

그리고 그 파일자료를 읽으면 어떤 자료형이든저장하고 불러올 수 있고, 위와 같은 결과가 나타납니다.납니다.

 

 

 

반응형

'python' 카테고리의 다른 글

python - DataBase 연동 & SQL 작업  (0) 2020.05.13
python - 예외처리  (0) 2020.05.11
python - 상속 (2)  (0) 2020.05.10
python - 상속  (0) 2020.05.10
python - 클래스  (0) 2020.05.10

+ Recent posts