336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
# 운영체제를 사용한는 명령 : 파일 복사 폴더 생성 등
import os
print (os) # <module 'os' from '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/os.py'>
# getcwd : 현재 파이썬이 작업 중인 디렉토리
print (os.getcwd()) # /Users/hongkun/PycharmProjects/Algorithm/Basic
#chdir : 현재 작업 디렉토리를 변경하는 함수
#os.chdir('/Users/hongkun/PycharmProjects/Algorithm')
#print (os.getcwd()) # /Users/hongkun/PycharmProjects/Algorithm
# listdir : 입력한 경로의 파일과 폴더 목록을 리스트로 반환해 주는 함수
print (os.listdir(os.getcwd())) # ['07_OSModule.py', '02_tuple_dic_set.py', '04_Module.py', '01_List.py', '00_turtle.py', '03_Class.py', '05_Regex.py', '00_String.py', '06_Exception.py']
# mkdir : 폴더 생성
os.makedirs(os.getcwd() + '/temp/temp1/temp2')
for name in os.listdir(os.getcwd()):
print (name)
# remove , unlink : 파일을 삭제
# rmdir, removedirs : 폴더를 삭제하는 함수 (폴더가 반드시 비어있어야 삭제가 된다
os.removedirs(os.getcwd() + '/temp/temp1/temp2')
##################################################################################
print ('#' * 50)
# os.path 모듈 : 파일이나 폴더에 대한 정보를 알아볼 수 있는 모듈
# 파일, 폴더 생성시간, 접근권한 파일존재 유뮤 등
# isdir : 폴더 유무 판단하기
os.makedirs(os.getcwd() + '/temp')
print(os.path.isdir(os.getcwd() + '/temp')) # True
os.rmdir(os.getcwd() + '/temp')
print(os.path.isdir(os.getcwd() + '/temp')) # False
# isfile : 파일 유무 판단하기
print(os.path.isfile(os.getcwd() + '/07_OSModule.py')) # True
os.makedirs(os.getcwd() + '/temp')
print(os.path.isfile(os.getcwd() + '/temp')) # False
# exists : 파일이나 폴더가 존재하는지 판단
print(os.path.exists(os.getcwd() + '/temp')) # True
os.rmdir(os.getcwd() + '/temp')
print(os.path.exists(os.getcwd() + '/temp')) # False
# getsize : 파일의 크기를 반환해 주는 함수
# 폴더는 크기를 반환해주지 못하는데 함수를 실행시켜보면 4096 이라는 값이 나옴
# 왜냐하면 폴더의 기본 크기가 4K 이라서 표시됨
print(os.path.getsize(os.getcwd() + '/07_OSModule.py')) # 2231
# split, splitext : 파일과 폴더의 경로를 구분해 주는 함수
print(os.path.split(os.getcwd() + '/07_OSModule.py')) # ('/Users/hongkun/PycharmProjects/Algorithm/Basic', '07_OSModule.py')
print(os.path.splitext(os.getcwd() + '/07_OSModule.py')) # ('/Users/hongkun/PycharmProjects/Algorithm/Basic/07_OSModule', '.py')
# join : 파일 이름과 폴더 이름을 합쳐주는 함수
join1 = os.path.split(os.getcwd() + '/07_OSModule.py');
print (join1) # ('/Users/hongkun/PycharmProjects/Algorithm/Basic', '07_OSModule.py')
join1 = os.path.join(join1[0], join1[1])
print (join1) # /Users/hongkun/PycharmProjects/Algorithm/Basic/07_OSModule.py
# dirname : 완성경로의 폴더경로만 꺼냄
# basename : 파일이름만 꺼내주는 함수
print (os.path.dirname(join1)) # /Users/hongkun/PycharmProjects/Algorithm/Basic
print (os.path.basename(join1)) # 07_OSModule.py
# 파일 생성 및 수정
##################################################################################
print ('#' * 50)
print ('파일 생성 및 수정')
'''
기호 모드
t 텍스트(기본)
b 바이너리
r 읽기(기본)
w 쓰기
a 이어쓰기
+ 읽기, 쓰기
'''
os.rmdir(os.getcwd() + '/temp2')
os.makedirs(os.getcwd() + '/temp2')
os.chdir(os.getcwd() + '/temp2')
#쓰기 모드
f = open('text.txt', 'w')
print(f.write('write text to file')) # 글자 수 출력 (18)
f.close()
f = open('text.txt', 'a')
print(f.write('write text to file (add)')) # 글자 수 출력 (24)
f.close()
with open('text.txt', 'a') as test:
test.write('write text to file (add2)') # close를 따로 할 필요 없다 자동으로 닫아줌
os.remove('text.txt')
# 읽기모드
with open('text.txt', 'w') as test:
test.write('1. 햄버기\n2. 치즈 돈가스\n3. 쭈꾸미 볶음') # close를 따로 할 필요 없다 자동으로 닫아줌
f = open('text.txt', 'r')
print (f.readline())
print (f.readline())
print (f.readline())
f.close()
f = open('text.txt', 'r')
print (f.readlines())
f.close()
# 파일 포인터 : 파일에서 현재 어디까지 읽었는지 위치 관리
f = open('text.txt', 'r')
print (f.readline())
print(f.tell()) # 13 : 한글은 한글자당 2바이트 마지막 줄바꾸도 2바이트
print (f.readline())
print(f.tell()) # 33
print (f.readline())
print(f.tell()) # 52
# seek : 파일 포인터 이동
f.seek(13)
print (f.readline()) # 치즈 돈가스
f.close()
os.remove('text.txt')
# 바이너리 모드
# /Users/hongkun/PycharmProjects/resource Koala.jpg
k_image = open(os.path.join('Users/hongkun/PycharmProjects/resource', 'Koala.jpg'), 'rb')
k_image_2 = open('Koala_copy.jpg', 'wb')
k_image_2.write(k_image.read())
k_image.close()
k_image_2.cloase()
'ⓟrogramming > Python' 카테고리의 다른 글
[파이썬] Beautiful Soup 라이브러리 (0) | 2017.11.22 |
---|---|
[파이썬] 정규 표현식 (0) | 2017.11.21 |
[파이썬] 문자열 처리 (0) | 2017.11.17 |
[Python] glob — Unix style pathname pattern expansion (0) | 2016.10.21 |
[Python] IDE에서 현재 경로를 잘못 가지고 오는 경우 (0) | 2016.10.21 |