[Python] 파이썬 파일 생성, 쓰기, 파일 이름 변경, 파일 + 폴더 탐색, 삭제 패키지
안녕하세요 ! 소신입니다.
파이썬 분석을 진행할 때 꽤 많이 쓰는게 다시 찾고 그러면 귀찮은게 많더라구요
데이터 수집을 하면서 바로바로 원하는 파일에 저장하고,
특정 확장자명을 가지는 파일이나 폴더를 탐색하고,
수많은 파일의 이름을 동시에 변경, 삭제하는 것을 패키지로 모아봤습니다.
svstar94/SDAU
JJ Data Analysis Notes in Github (Package). Contribute to svstar94/SDAU development by creating an account on GitHub.
github.com
사용방법은 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)
입니다.
정말 간단하죠?
감사합니당