반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 네이버 로그인 영수증 해결
- UiPath
- 가상환경설치
- Python
- 파이썬 환경설정
- Uipath 설치방법
- 날짜 정규식
- pywinauto 윈도우
- 파이썬 가상환경 설치방법
- 네이버 로그인 하기
- pycdc.exe
- pywinauto
- pywinauto 윈도우제어
- Uipath 기초
- pycdas.exe
- Element is not clickable at point
- 파이썬 네이버 로그인
- Selenium 셀렉터잡기
- uipath 입문
- 네이버부동산크롤링
- 파이썬네이버부동산
- 왕초보 파이썬 실행
- 네이버커머스API
- 네이버 로그인 캡챠해결
- 파이썬 가상환경 설치
- vscode venv 설치
- 커머스API
- venv 설치
- 네이버매물크롤링
- selenium
Archives
- Today
- Total
콘솔워크
pyqt5 저장 파일 json형식으로 관리 본문
반응형
import os
from enum import Enum
from datetime import datetime
import json
from mimetypes import MimeTypes
COMPANY_NAME = "회사이름"
PROGRAM_ID = "프로그램이름"
APP_DATA_PATH = os.path.join(os.getenv("APPDATA"), COMPANY_NAME)
PROGRAM_PATH = os.path.join(APP_DATA_PATH, PROGRAM_ID)
if os.path.isdir(APP_DATA_PATH) == False:
os.mkdir(APP_DATA_PATH)
if os.path.isdir(PROGRAM_PATH) == False:
os.mkdir(PROGRAM_PATH)
USER_SAVE_PATH = os.path.join(PROGRAM_PATH, f"{PROGRAM_ID}.txt")
def get_save_data():
saved_data = None
if os.path.isfile(USER_SAVE_PATH):
with open(USER_SAVE_PATH, "r", encoding="utf-8") as f:
saved_data = json.loads(f.read())
return saved_data
def write_save_data(dict_save: dict):
if os.path.isfile(USER_SAVE_PATH):
os.remove(USER_SAVE_PATH)
with open(USER_SAVE_PATH, "w", encoding="utf-8") as f:
f.write(json.dumps((dict_save)))
f.close()
else:
with open(USER_SAVE_PATH, "w", encoding="utf-8") as f:
f.write(json.dumps((dict_save)))
f.close()
return dict_save
class SaveFile(Enum):
TEST_SAVE = "test_save"
# 저장데이터 없는 경우 초기화
if not get_save_data():
write_save_data(
{
SaveFile.TEST_SAVE.value: "",
}
)
LOG_FOLDER_NAME = "log"
LOG_FOLDER_PATH = os.path.join(PROGRAM_PATH, LOG_FOLDER_NAME)
if not os.path.isdir(LOG_FOLDER_PATH):
os.mkdir(LOG_FOLDER_PATH)
1. xxx.py 형식으로 해당 코드를 작성한다.
2. 저장 파일을 저장, 불러오기를 할 곳에서 해당 파일을 import 해준다.
(from xxx import *)
3. 초기화 단계에서 get_save_data() 해당 함수를 변수에 저장해준다.
(self.saved_data = get_save_data())
4. 변수 안에 저장된 데이터를 불러와서 사용한다.
(self.saved_data[SaveFile.TEST_SAVE.value])
5. 데이터를 저장할 때에는 dict 형태의 데이터를 write_save_data() 함수에 넣어준다.
dict_save = {
SaveFile.TEST_SAVE.value: '저장단어'
}
(write_save_data(dict_save))
반응형
'프로그래밍 > python' 카테고리의 다른 글
파일 제거 (0) | 2023.02.03 |
---|---|
파일명에 사용할 수 없는 문자 제거 (0) | 2023.02.02 |
가장 오른쪽의 문자만 replace 하는 방법 (join 활용) (0) | 2023.01.31 |
join 함수를 사용해서 list를 문자열로 바꾸기 (0) | 2023.01.30 |
배열의 순서를 유지하며 중복을 제거하는 코드 (0) | 2023.01.27 |