반응형
설치 명령어 : pip install configparser
import sys
import configparser
from PyQt5.QtWidgets import QApplication, QPushButton, QVBoxLayout, QWidget, QTextEdit
class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.setupUI()
self.init_ini()
self.pushButton1.clicked.connect(self.save_ini)
self.pushButton2.clicked.connect(self.load_ini)
def setupUI(self):
self.setGeometry(800, 200, 300, 300)
self.setWindowTitle("INI TEST")
self.textEdit1 = QTextEdit()
self.pushButton1 = QPushButton("Save INI")
self.textEdit2 = QTextEdit()
self.pushButton2 = QPushButton("Load INI")
layout = QVBoxLayout()
layout.addWidget(self.textEdit1)
layout.addWidget(self.pushButton1)
layout.addWidget(self.textEdit2)
layout.addWidget(self.pushButton2)
self.setLayout(layout)
def init_ini(self):
self.cf = configparser.ConfigParser()
self.cf.read('example.ini')
def save_ini(self):
up_val = 1
in_save = self.textEdit1.toPlainText()
for e in in_save.split():
self.cf.set("Data1", str(up_val), e)
up_val += 1
with open('example.ini', 'w') as handle:
self.cf.write(handle)
def load_ini(self):
print(self.cf.sections())
keys = self.cf["Data1"].keys()
self.textEdit2.append("[Data1]")
for key in keys:
self.textEdit2.append(self.cf["Data1"][key])
self.textEdit2.append("[Data2]")
keys = self.cf["Data2"].keys()
for key in keys:
self.textEdit2.append(self.cf["Data2"][key])
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MyWindow()
window.show()
app.exec_()
여기서 주목 할 것은
read 경로랑 write 경로입니다.
처음에 Read 하면 메모리에서 사라지는 줄 알랐습니다.
그래서 계속 write를 다른 변수로 만들었더니
초기화 되거나 2번 쓰게 되더라구요.
그러니 read 하면 한번 불러오고 메모리에 남게 되더라구요.
반응형
'공부 > Python' 카테고리의 다른 글
[Python]여러 엑셀 파일 불러와서 저장하기 (0) | 2020.06.16 |
---|---|
11. [Python] print 기본 사용 (0) | 2020.03.31 |
python 파일 모드 (0) | 2020.02.19 |
오류 노트 (0) | 2020.01.21 |
9. [Python] ipynb 파일 py로 변환하기 (0) | 2020.01.03 |