아래 예제는 여러개 폴더에 내용이 비슷하고 파일명이 같은 파일이 각각 있어 한꺼번에 돌리는 예제 입니다.

줄 별로 관리 하여 새로 만드는 예제 입니다.

# os Import
import os

# folders 경로에 있는 모든 폴더를 조회 해서 for 문으로 돌림
for i in os.listdir("./folders/"):
    f = open(os.path.join(
            '../../output/string/{}'.format(i), # 각각의 폴더에
            'tutorials.xml', # tutorials.xml 파일을 불러 옴
        ), 'r')
    line = f.readline() # line 에 담고
    new_line = '' # 필요한 값만 넣을 변수 선언
    
    # 아래 항목의 값만 new_line 에 담기
    while line:
        if '<?xml' in line:
            new_line += line
        elif 'important' in line:
            new_line += line
        elif 'subjects' in line:
            new_line += line
        else:
            pass
            
		# 뽑힌 줄 제외 하고 다시 line 에 넣기
        line = f.readline()
	
    f.close()
    
    # 해당 폴더에 파일 덮어 씌우기
    mk = open(os.path.join(
                './folders/{}'.format(i),
                'tutorials.xml',
            ), 'w')
    mk.write(new_line)
    mk.close()

regex[정규식 표현] 을 사용 할때

공백을 \s 로 표시 하면 공백이 없을 경우 반환하는 값 자체가 나오지 않습니다

이럴 땐 

\s 대신 [- ]? 값을 넣어서 있거나 없을 때 둘 다 값을 반환하게 만들어 보세요!

끝!

사용 방법입니다. 룰렛을 해보셨다면 쉽게 이해 하실 거에요.

제가 카지노 가서 자주 배팅하는 방법을 python 으로 구현 해 보았습니다.

카지노 룰렛 python 구현

 

아래 소스를 복사 해서

casino.py 파일을 만들고 cmd 창에서 python casino.py 실행 하여 해보세요.

실행 파일을 만들고 싶으시면 pyinstaller 를 사용 하시면 됩니다.

pyinstaller -w -F casino.py

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QLabel, QLineEdit, QMessageBox
from random import randint

class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setupUI()

    def setupUI(self):
        self.setWindowTitle("Roulette")

		# 나온 숫자 label
        self.number = QLabel(self)
        self.number.setText('0')
        self.number.move(30, 15)

		# 보유 금액 label
        self.tmoney = QLabel(self)
        self.tmoney.setText('1000')
        self.tmoney.move(30, 40)
        
        # 배팅 구역 edit
        self.bet = QLineEdit(self)
        self.bet.resize(30, 20)
        self.bet.move(70, 45)

		# 배팅 금액 edit
        self.mn = QLineEdit(self)
        self.mn.setText('100')
        self.mn.resize(30, 20)
        self.mn.move(70, 20)

		# 게임 시작 버튼
        btn1 = QPushButton("Start", self)
        btn1.resize(50,20)
        btn1.move(55,70)
        btn1.clicked.connect(self.btn1_clicked)        

		# 초기화 버튼
        btn2 = QPushButton("Init", self)
        btn2.resize(30,20)
        btn2.move(20,70)
        btn2.clicked.connect(self.btn2_clicked) 

    def btn1_clicked(self):
        a = randint(0,36)
        b = self.mn.text()
        c = self.bet.text()
        t = self.tmoney.text()

        if not b:
            self.number.setText(str(a))
            pass
        elif int(t) - (int(b) * 2) < 0:
            QMessageBox.about(self, "error", "no money")
            pass
        elif not a:
            tm = int(t) - (int(b) * 2)
            self.tmoney.setText(str(tm))
            self.number.setText(str(a))
        else:
            if a > 0 and 13 > a and int(c) == 1:
                tm = int(t) - (int(b) * 2)
                self.tmoney.setText(str(tm))
                self.number.setText(str(a))
            elif a > 12 and 25 > a and int(c) == 2:
                tm = int(t) - (int(b) * 2)
                self.tmoney.setText(str(tm))
                self.number.setText(str(a))
            elif a > 24 and int(c) == 3:
                tm = int(t) - (int(b) * 2)
                self.tmoney.setText(str(tm))
                self.number.setText(str(a))
            else:
                tm = int(t) + int(b)
                self.tmoney.setText(str(tm))
                self.number.setText(str(a))

    def btn2_clicked(self):
        self.tmoney.setText('1000')

if __name__ == "__main__":
    app = QApplication(sys.argv)
    mywindow = MyWindow()
    mywindow.show()
    app.exec_()

+ Recent posts