<jupyter_start><jupyter_text>파이썬 내장 패키지(모듈, 라이브러리, 클래스)  os> 파일 및 디렉토리(폴더)관리를 위한 파이썬 내장패키지<jupyter_code># 모듈 import
import os
# 현재 파이썬 커널 경로 확인
path = os.getcwd()
path
# 경로이동
os.chdir('/Users/ppangppang/Desktop/ssac/02.Python_/Python_Basic_Class')
os.getcwd()
# 경로 생성
os.mkdir('test')  # 현재 경로에 test폴더 생성
# 현재 경로의 파일, 폴더 리스트(!ls)
os.listdir()
# 경로 삭제
os.rmdir('test')
# 하위 경로까지 생성

# 상위 경로까지 삭제

# 조건문 활용 파일 셀렉션
for file_nm in os.listdir():
    if file_nm[-3:] == 'pdf':
        print(file_nm)<jupyter_output>SSAC_introduction_v0.3.pdf<jupyter_text>glob파일 혹은 폴더 리스트를 관리하기 위한 파이썬 패키지<jupyter_code># 모듈 import 
from glob import glob   # 위에 for문으로 pdf가져오는 기능을 좀 더 심플하게 할 수 있음
# glob 함수 적용
glob('*.ipynb')<jupyter_output><empty_output><jupyter_text>time현재시간, 시간차등 시간 데이터 관리를 위한 파이썬 패키지<jupyter_code># 모듈 import
import time
# time sleep
time.sleep(2)
print('code delay')  # 2초뒤에 실행된다.<jupyter_output>code delay<jupyter_text>datetime<jupyter_code># 모듈 import
from datetime import datetime
# 현재시간
current_time = datetime.now()  # 변수로 지정 후, 변수로도 datetime함수를 사용할 수 있다
# 현재시간(weston 방식)
current_time.ctime()
# 각 시간 단위 접근 (함수가 아니다!)
# 한 시점의 날짜정보, 시간정보를 각각 데이터분석에 활용이 가능하다
print(current_time.year)
print(current_time.month)
print(current_time.day)
print(current_time.hour)
print(current_time.minute)
print(current_time.second)
print(current_time.microsecond)
# datetime 데이터 타입을 문자열 형식으로(활용도 높음)
currnet_str_time = current_time.strftime("%Y-%m-%d %H:%M:%S")
# 문자열 형식의 날짜를 datetime 형식으로(활용동 굉장히 높음)
datetime.strptime(currnet_str_time, '%Y-%m-%d %H:%M:%S')
# 시간 연산, 비교연산, time_difference
current_time2 = datetime.now()
# 이슈나 사건, 로그에 따라서 데이터가 누적이 되는 경우
# 웹페이지 로그 분석
# ex) 유저 1페이지 머무른 시간, 2페이지 머무른 시간
time_test = current_time2 - current_time  # timedelta 형식으로 표현된다
time_test.seconds  # 원하는 옵션별로 시간차를 조회 할 수 있다.
current_time2 < current_time<jupyter_output><empty_output><jupyter_text>파일 읽고 쓰기<jupyter_code># 파일을 읽어들이고 작업을 하고 닫는 과정
# 1. 파일을 읽어들여옴
# 2. 작업을 하고
# 3. 파일을 닫아줘야 함.

# 읽기 : r
# 쓰기 : w
# 추가 : a
f = open('test.txt','w')
for i in range(10):
    data = f'{i}번째 데이터 입니다.\n'
    f.write(data)
f.close()
ls
# file_nm.txt 생성됨
f = open('file_nm.txt', 'w')
# 생성되고 열려있는 file_nm에 작업을 해보자
for i in range(10):
    text = f'{i}번째 데이터다.\n'  # \t : 탭
    f.write(text)
# file을 닫아줘야 저장이 된다.
f.close()
f
# 생성, 내용입력, 저장한 파일 file_nm을 읽어와보자
f = open('file_nm.txt', 'r')   # r을 쓰지 않고 w로 해버리면 기존 작성한 내용이 다 날아간다.(a로 업데이트)
text_line = f.readlines()
text_line
# line별로 가져오는 readline()
# f.readlines 작업을 한번 수행하면 다시 쓸 수 없다.
f = open('file_nm.txt', 'r')
f.readlines()  # \n도 같이 출력된다.
f = open('file_nm.txt', 'r')
txt_list = []
for txt in f.readlines():
    txt_list.append(txt[:-2])   
    # txt_list.append(txt.replace('\n',''))
txt_list
# 항상 작업을 마치고나면, 닫아주기
f.close()
# 읽어온 파일에 대한 정보를 변수에 저장해서, 파일 닫은 후에도 조회 가증
text_line
txtxt = []
for i in text_line:
    txtxt.append(i[:-2])
txtxt<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.13734353268428373, 'fraction_numerical': 0.007301808066759388, 'mean_word_length': 4.240437158469946, 'pattern_counts': {'":': 0, '<': 20, '<?xml version=': 0, '>': 20, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '5', 'dir': 'jupyter-structured-clean-dedup', 'id': '111486', 'license': 'MIT', 'n_tokens_mistral': 1796, 'n_tokens_neox': 2178, 'n_words': 347, 'path': 'python/210910-Python-date,text_rw.ipynb', 'repo_name': 'PpangPpang93/TIL', 'size': '2876'}