안녕하세요 ! 소신입니다.
파이썬 분석을 진행할 때 꽤 많이 쓰는게 다시 찾고 그러면 귀찮은게 많더라구요
데이터 수집을 하면서 바로바로 원하는 파일에 저장하고,
특정 확장자명을 가지는 파일이나 폴더를 탐색하고,
수많은 파일의 이름을 동시에 변경, 삭제하는 것을 패키지로 모아봤습니다.
사용방법은 ipynb를 참고하시면 되고
FileManager.py를 다운받아서 import해주시면 됩니다.
ㅁ 파일 생성, 쓰기
데이터를 수집하고 바로바로 저장할 때 사용하는 패키지입니다.
import FileManager
# .txt
FM = FileManager.FileMaker(FOLDER_PATH='D:/Datas/', MAX_DATAS=50000, FILE_TYPE='.txt')
FM.Start()
FM.Write_Data('데이터 저장')
FM.Write_Data('데이터 저장')
# 중요
FM.Close_File()
JM = FileManager.JsonMaker(FOLDER_PATH='D:/Datas/', MAX_DATAS=50000)
JM.Start()
JM.Write_Data(
{
'key1' : 'value1',
'key2' : 'value2'
}
)
# 중요
JM.Close_File()
CM = FileManager.CSVMaker(FOLDER_PATH='D:/Datas/', MAX_DATAS=50000)
CM.Start(COLUMNS_NAMES='column1 column2 column3 column4')
CM.Write_Data(['value1', 'value2', 'value3', 'value4'])
CM.Close_File()
FileMaker, JsonMaker, CSVMaker로 파일 생성을 위한 객체를 선언해주고
Start()로 폴더 디렉토리와 파일을 순차적으로 작성하기 위한 기반을 잡아줍니다.
Write_Data()를 데이터 수집하면서 호출해주시면 됩니다.
마지막에 Close_File()로 닫아줘야 됩니다 ! (강제종료시 깨질 수 있음)
ㅁ 파일 탐색
특정 폴더 내의 파일이나 폴더를 찾을 때 사용합니다.
import FileManager
FS = FileManager.File_Search(FOLDER_DIR='D:/Datas', FILE_TYPE='.', ONLY_FOLDER=True)
FS # List
### ["D:/Datas\\askjdasd'", 'D:/Datas\\askjdclkz', 'D:/Datas\\Insta']
함수를 실행하면 List를 받을 수 있고, 특정 확장자명 뿐 아니라 폴더만 탐색할 수 있습니다.
ㅁ 파일 이름 변경
파일 이름을 똑같이 바꿔줘야될 때가 있죠? 그리고 확장자명도 한 번에 바꿔줘야 될 때가 있는데
그럴 때 엄청나게 많은 파일이 있으면 일일이 파일명을 원하는 이름으로 바꾸기 쉽지 않아서 만들었습니다.
import FileManager
# 100개의 파일 생성
for i in range(100):
JM = FileManager.JsonMaker(FOLDER_PATH='D:/Datas/', MAX_DATAS=50000)
JM.Start()
JM.Write_Data(
{
'key1' : 'value1',
'key2' : 'value2'
}
)
JM.Close_File()
# 100개의 파일이 검색됨
FS = FileManager.File_Search('D:/Datas', '.json', ONLY_FOLDER=False)
FS[-5:]
#['D:/Datas\\096.json',
# 'D:/Datas\\097.json',
# 'D:/Datas\\098.json',
# 'D:/Datas\\099.json',
# 'D:/Datas\\100.json']
# 이름 변경
FileManager.Change_Name(FOLDER_PATH='D:/Datas', FILE_TYPE='.json', TARGET_NAME='Test', TARGET_TYPE='.json')
FS = FileManager.File_Search('D:/Datas', '.json', ONLY_FOLDER=False)
FS[-5:] # 0부터 시작해서 99로 끝남
#['D:/Datas\\Test_95.json',
# 'D:/Datas\\Test_96.json',
# 'D:/Datas\\Test_97.json',
# 'D:/Datas\\Test_98.json',
# 'D:/Datas\\Test_99.json']
파일이름과 확장자를 쉽게 변경할 수 있습니다
ㅁ 파일, 폴더 삭제
사실 이건 File Search를 활용해서 반복문만 돌려주고
한줄만 추가하면 되는거라 그냥 소개만 하겠습니다.
# 파일 삭제
import os
FS = FileManager.File_Search(r'D:\Datas', '.json', ONLY_FOLDER=False)
for f in FS:
os.remove(f)
# 폴더 삭제
FS = FileManager.File_Search(r'D:\Datas\asdasdf', '.', ONLY_FOLDER=True)
for d in FS:
os.rmdir(d)
파일 삭제는 os.remove(file)
폴더 삭제는 os.rmdir(d)
입니다.
정말 간단하죠?
감사합니당
'슬기로운 개발자생활 > Python' 카테고리의 다른 글
[찾기 쉬운 Python 코드] Numpy (0) | 2020.12.27 |
---|---|
[프로젝트 중심 데이터 분석 강좌 - Python 기초] 2. 파이썬 연산, 자료형 (0) | 2020.11.20 |
[프로젝트 중심 데이터 분석 강좌 - Python 기초] 1. 파이썬 설치하기 (0) | 2020.11.14 |