project :: Mr Python | مستر پایتون

پروژه ارسالی -  پروژه پایل

  • ۲۹۴
فرستنده : AnonC0DER
نام پروژه  پروژه پایل
دسته بندی : python
توضیحات : یادگیری و معرفی کتابخانه های پایتون توسط اسکریپت پایتونی
آدرس گیت هاب پروژه : https://github.com/AnonC0DER/PyLe

 

نکته : مستر پایتون هیچ تغییری در سورس کد های ارسالی ایجاد نخواهد کرد و سورس کد مستقیما نوشته خود شخص فرستنده است . 

توضیحات MrPython در مورد پروژه : این پروژه یک اسکریپت متفاوت هستش که بسیار میتونه کاربردی باشه . هدف از طراحی این اسکریپت آموزش دادن پایتون توسط خود پایتون بوده . این اسکریپت منابع آموزشی بسیار ارزشمندی از یادگیری پایتون در زمینه های مختلف (بازیسازی ، ربات تلگرام و ... ) در اختیار شما میزاره . 

برای اجرای این اسکریپت نیاز به نصب کتابخونه ی colorama هستش .

pip install colorama

 

سورس کد : https://github.com/AnonC0DER/PyLe/blob/main/PyLe.py

به دلیل طولانی بودن سورس کد لینک آن قرار داده شد :)

 

جهت ارسال پروژه های خود :

پروژه ی خود به همراه توضیح آن  ارسال کنید به  : 

mrpythonblog@gmail.com


 Telegram Channel : @mrpythonblog

پروژه ارسالی - اسکریپت ارسال و دریافت فایل در شبکه به صورت گرافیکی

  • ۳۸۶
فرستنده Ali Zabetpoor
نام پروژه  اسکریپت ارسال و دریافت فایل در شبکه به صورت گرافیکی
دسته بندی : python
توضیحات : پروژه شامل دو اسکریپت است . 1 - اسکریپت فرستنده 2 - اسکریپت گیرنده . اسکریپت فرستنده فایل مورد نظر رو در شبکه ارسال میکنه و اسکریپت گیرنده اونو دریافت میکنه و ذخیره میکنه . از این اسکریپت ها میتوان برای انتقال فایل در شبکه بر روی کامپیوتر های مختلف استفاده کرد . هر دو اسکریپت دارای رابط گرافیکی هستند .

 

نکته : مستر پایتون هیچ تغییری در سورس کد های ارسالی ایجاد نخواهد کرد و سورس کد مستقیما نوشته خود شخص فرستنده است . 

 

توضیحات MrPython در مورد پروژه :در این پروژه برای طراحی رابط کاربری گرافیکی از کتابخونه ی pySimpleGUI و برای ارتباط شبکه و ارسال و دریافت اطلاعات از کتابخونه ی socket استفاده شده . 

 

برای اجرای صحیح اسکریپت باید کتابخونه ی pySimpleGUI رو نصب کنید . 

pip install pySimpleGUI

 

سورس فرستنده : 

from threading import Thread
import PySimpleGUI as sg
from PySimpleGUI.PySimpleGUI import WINDOW_CLOSED

from socket import AF_INET, SOCK_STREAM, socket

layout=[
        [sg.Text("file location: "),sg.Input(key="-FILE-",size=(30,2)),sg.FileBrowse(size=(20,1))],
        [sg.Text("ip reciever:"),sg.InputText(key="-IP-")],
        [sg.Text("port reciever:"),sg.InputText(key="-PORT-")],
        [sg.Button("send",key="send-btn",size=(8,2))],
        [sg.ProgressBar(2,orientation="h",size=(20,15),key="-progress-bar-",bar_color=("green","white"))],
]

window=sg.Window("sender app",layout=layout,size=(500,200),font="Arial 12",element_justification="c")

def send_file(file,ip,port):
    with open(file=file,mode="rb") as file:
        data=file.read()
    try:
        sock=socket(AF_INET,SOCK_STREAM)
        sock.connect((ip,port))

        bar=int(len(data)/1024)
        i=0
        window["-progress-bar-"].UpdateBar(0,bar)
        while True:
            if len(data)>0:
                tmp_data=data[0:1024]
                if len(tmp_data)<1024:
                    tmp_data+=chr(0).encode()*(1024-len(tmp_data))
                data=data[1024:]
                sock.send(tmp_data)
                i+=1
                window["-progress-bar-"].UpdateBar(i)  
            else:
                # sock.send(file.encode())
                sock.close()
                break
        window.write_event_value("-end-task-","file sended")
    except:
        window.write_event_value("-error-","error happened")

thread=None

while True:
    event,inputstr=window.read()
    if event==sg.WINDOW_CLOSED:
        break
    elif event=="send-btn" and not thread and inputstr["-PORT-"].isdigit() and \
        not inputstr["-IP-"].isalnum():
        window["-progress-bar-"].UpdateBar(0)
        file=inputstr["-FILE-"]
        ip=inputstr["-IP-"]
        port=int(inputstr["-PORT-"])
        thread=Thread(target=send_file,args=(file,ip,port))
        thread.start()
    elif event=="-error-":
        thread=None
        sg.PopupAutoClose("check you ip or port",title="error")
    elif event=='-end-task-':
        thread=None
        sg.popup("the file has been sent")
window.close()

 

سورس گیرنده : 

from threading import Thread
import PySimpleGUI as sg
from PySimpleGUI.PySimpleGUI import No, WIN_CLOSED
from socket import AF_INET, SOCK_STREAM, socket


def recieve_data(ip,port):
    global thread
    filedata=b""
    try:
        sock=socket(AF_INET,SOCK_STREAM)
        sock.bind((ip,port))
        sock.listen()
        sender,addr=sock.accept()
        while True:
            data=sender.recv(1024)
            if len(data)==0:
                sock.close()
                
                break
                        
                
                
                
            filedata+=data
        window.write_event_value("-end-task-",filedata)
    except:
        window.write_event_value("-problem-","problem happened")
        

layout=[
        [sg.Text("your ip:"),sg.InputText(key="-IP-")],
        [sg.Text("your port:"),sg.InputText(key="-PORT-")],
        [sg.Button("start recieving",key="-btn-recieve-",border_width=2,s=(11,2),pad=(0,15))],
        
]

window=sg.Window("recieve app",layout=layout,font="Arial 12",element_justification="c",size=(400,150))

thread=None
while True:
    event,inputstr=window.read()
    
    if event==sg.WIN_CLOSED:
        break
    elif event=="-btn-recieve-" and not thread and inputstr["-PORT-"].isdigit() and \
        not inputstr["-IP-"].isalnum():
        ip=inputstr["-IP-"]
        port=int(inputstr["-PORT-"])
        
        thread=Thread(target=recieve_data,args=(ip,port),daemon=True)
        thread.start()
        sg.popup_auto_close("waiting for sender...",auto_close_duration=2)
    elif event=="-problem-":
        thread=None
        sg.popup_no_titlebar("correct your ip or port")
    elif event=="-end-task-":
        data_file=inputstr[event]
        thread=None
        text=sg.popup_get_text("name of the file:","save file")
        with open(text,"wb") as file:
            file.write(data_file)
            sg.popup("file has been saved")
       

window.close()

 

جهت ارسال پروژه های خود :

پروژه ی خود به همراه توضیح آن  ارسال کنید به  : 

mrpythonblog@gmail.com


 Telegram Channel : @mrpythonblog

پروژه ی ارسالی - برنامه پسوورد ساز با multiprocessing

  • ۲۳۹
فرستنده Amin Pesa
نام پروژه برنامه پسوورد ساز با multiprocessing
دسته بندی : python
توضیحات : سورس تولید پسووردلیست برای اهداف مختلف با استفاده از پردازش های موازی

 

نکته : مستر پایتون هیچ تغییری در سورس کد های ارسالی ایجاد نخواهد کرد و سورس کد مستقیما نوشته خود شخص فرستنده است . 

 

توضیحات MrPython در مورد پروژه : این پروژه UI یا رابط کاربری ساده و کاربردی داره که به راحتی میتونید ازش استفاده کنید . از توانایی خوب اسکریپت این هستش که میتونه برای اهداف مختلف ( کرکینگ های VPS ، کرکینگ های Wireless ، و .... ) پسووردلیست تولید کنه .

 

اسکریپت میتونه روی هر سیستم عاملی دارای پایتون ورژن 3 اجرا بشه و تمام کتابخونه های استفاده شده در سورس به طور پیشفرض روی پایتون نصب هستش .

 

توضیحات فرستنده : 

این کد پسوورد رو تو حالات مختلف مثل برای سرور مجازی، برای وای فای و چیزای دیگه میسازه که 6 حالت ساخت داره و همچنین  multiprocessing داره که از خود وبلاگ یاد گرفتم😊 قدر ادمین رو بدونید من خودم خیلی از سایتش استفاده کردم ( ادمین : ایشون لطف دارن :) )

 

سورس : 

# orphius
# password generator
# by aminXD
# use for make password list
# run any os (but needed python)
from random import choice, randint 
from string import printable, digits
from multiprocessing import Process
from time import time
print("""
                    __    _
  ____  _________  / /_  (_)_  _______
 / __ \/ ___/ __ \/ __ \/ / / / / ___/
/ /_/ / /  / /_/ / / / / / /_/ (__  )
\____/_/  / .___/_/ /_/_/\__,_/____/
         /_/
  
made by aminXD...
  idea by crunch(kali linux app)...\n""")
answer = input("""Choose Orphius Work:
1. Normal Mode
2. Choose Mode
3. VPS Password Maker
4. WIFI Password Maker
5. String With Integer
6. String And Integer
Enter: """).upper() #get operator
def normal(): #normal mode
    try: #try to run code
        chars = printable[0:94] #get all keyboard data
        length = int(input("Enter Password Lenght (If Want To Random Length, Enter 0): ")) #get length
        if length == 0: #if want to random length
            answer = input("Do You Want Choose Random Range(Y/N): ").upper() #get want choose random range
            if answer  == "Y": #if want to random length
                a = int(input("Enter Start Number: ")) #get start number
                b = int(input("Enter Stop Number: ")) #get stop number
                rand = randint(a,b) #get random number in range a to b
            elif answer == "N": #if not want choose random length
                rand = randint(8,20) #set to default random length
            else: #if entered unknown answer
                rand = randint(8,20) #again set to default random length
        count = int(input("Enter Password Count: ")) #get count of password
        file = input("Enter File Name Or Directory To Save (If Not Want Save to File, Enter NOT): ") #get want save to file
        if file.upper() == "NOT": #if not want save to file
            pass #dont execute ant code
        else: #if want save to file
            f = open(file,"a") # make or open file
            f.truncate(0) # clear file data
        start = time()
        for _ in range(count): # loop for all password count
            if length == 0:
                if answer == "Y":
                    password = "".join(choice(chars) for _ in range(rand)) # make password with custom range
                    rand = randint(a,b) # again set random range a to b
                else:
                    password = "".join(choice(chars) for _ in range(rand)) # make password with default range
                    rand = randint(8,20) # again set random range to default(8 to 20)
            else: # if not want random length
                password = "".join(choice(chars) for _ in range(length)) # make password with entered length
            print(password)
            if file.upper() != "NOT":   # if want save to file
                f.write(f"{password}\n") # print password to file
        end = time() - start
        print("".join("-" for _ in range(30))) # print separator line
        print("List Complete! :)")
        print(f"Maked {count} Password In {end} Seconds")
        if file.upper() != "NOT": #if want save to file
            print(f"Saved Password List To {file}")
        else:
            print("Dont Saved To Any File (Because You Entered NOT) :(")
        print("Enjoy! :)")
    except KeyboardInterrupt: #if entered CTRL + C (send exit request)
        print("Bye. :(")
    except ValueError: #if entered unknown answer
        print("Please Enter Integer Number")
    finally: # final block
        if file.upper() != "NOT": #if want save to file
            f.close() # close file
def choose(): # choose mode
    try: #try execute code
        chars = input("Enter The Useable Character(a to z,0 to 9,A to Z, special character): ") #get useable character
        chars = list(chars) #set entered character as list data type
        count = int(input("Enter Password Count: ")) # get count if password
        length = int(input("Enter Password Lenght (If Want To Random Length, Enter 0): ")) #get length of password
        if length == 0: #if want random length
            answer = input("Do You Want Choose Random Range(Y/N): ").upper()
            if answer  == "Y":
                a = int(input ("Enter Start Number: "))
                b = int(input("Enter Stop Number: "))
                rand = randint(a,b)
            elif answer == "N":
                rand = randint(8,20)
            else:
                rand = randint(8,20)
        file = input("Enter File Name Or Directory To Save (If Not Want Save to File, Enter NOT): ")
        if file.upper() == "NOT":
            pass #dont execute any code
        else:
            f = open(file,"a") #open or make file
            f.truncate(0) #clear file data
        for i in range(0,len(chars) - 1):
            if " " == chars[i]: del chars[i] #remove space
        start = time()
        for _ in range(count):
            if length == 0:
                if answer == "Y":
                    password = "".join(choice(chars) for _ in range(rand))
                    rand = randint(a,b)
                else:
                    password = "".join(choice(chars) for _ in range(rand))
                    rand = randint(8,20)
            else:
                password = "".join(choice(chars) for _ in range(length))
            print(password)
            if file.upper() != "NOT":
                f.write(f"{password}\n")
        end = time() - start
        print("".join("-" for _ in range(30)))
        print("List Complete! :)")
        print(f"Maked {count} Password In {end} Seconds")
        if file.upper() != "NOT":
            print(f"Saved Password List To {file}")
        else:
            print("Dont Saved To Any File (Because You Entered NOT) :(")
        print("Enjoy! :)")
    except KeyboardInterrupt:
        print("Bye. :(")
    except ValueError:
        print("Please Enter Good Answer")
    finally:
        if file.upper() != "NOT":
            f.close()
def vps():
    try:
        raw = [ #add more word into this list
            "admin",
            "network",
            "server",
            "administrator",
            "administrator".upper(),
            "@dmin",
            "@admin",
            "MyP@ssw0rd",
            "P@$$word",
            "P@$$worD",
            "P@$VVORD",
            "P@$$w0rd",
            "P@$VVORD",
            "pass",
            "P@ssw0rD",
            "POWER",
            "PC",
            "abc",
            "ABC",
            "vps",
            "Vps",
            "VPS",
            "$Y$TEM",
            "123",
            "2020",
            "Garena",
            "com",
            "Mirana",
            "google",
            "GOOGLE",
            "Google",
            "Shadow",
            "secret",
            "Secret",
            "SECRET"
            "temp",
            "TEMP",
            "Temp",
            "user",
            "User",
            "USER",
            "test",
            "Test",
            "TEST",
            "welcome",
            "Welcome",
            "WELCOME",
            "desktop",
            "Desktop",
            "DESKTOP",
            "remote",
            "Remote",
            "REMOTE",
            "password",
            "Password",
            "PASSWORD",
            "pc",
            "Pc",
            "manager",
            "Manager",
            "MANAGER",
            "support",
            "Support",
            "SUPPORT",
            "homegroup",
            "Homegroup",
            "homeGroup",
            "HomeGroup",
            "adm!in",
            "Adm!n",
            "ADM!N",
            "client",
            "Client",
            "CLIENT",
            "m@n@ger",
            "exit",
            "EXIT",
            "Exit",
            "webadmin",
            "Webadmin",
            "webAdmin",
            "WebAdmin",
            "WEBADMIN",
            "root",
            "Root",
            "ROOT",
            "info",
            "Info",
            "INFO",
            "@dm!n",
            "operator",
            "Operator",
            "OPERATOR",
            "panel",
            "Panel",
            "PANEL",
            "Administrador",
            "Administrator",
            "config",
            "Config",
            "CONFIG",
            "member",
            "Member",
            "MEMBER",
            "online",
            "Online",
            "ONLINE",
            "ghost",
            "Ghost",
            "GHOST",
            "asus",
            "Asus",
            "ASUS",
            "4dmin",
            "@dm!n",
            "Storage",
            "storage",
            "STORAGE",
            "personal",
            "Personal",
            "PERSONAL",
            "cube",
            "Cube",
            "CUBE",
            "setpassword",
            "setpassword".title(),
            "setpassword".upper(),
            "portable",
            "portable".title(),
            "portable".upper()
        ]
        count = int(input("Enter Count: "))
        file = input("Enter File Name Or Directory To Save (If Not Want Save to File, Enter NOT): ")
        if file.upper() == "NOT":
            pass
        else:
            f = open(file,"a")
            f.truncate(0)
        i = 0
        ii = 0
        def wrt(fle, msg):
            if fle.upper() != "NOT":
                f.write(msg + "\n")
        start = time()
        while True:
            i += 1
            if i > count: break
            for x in raw:
                ii += 1
                for _ in range(100):
                    num = f"{randint(1,9999)}{x}"
                    print(num)
                    wrt(file, num)
                for _ in range(5):
                    num = f"{x}@{randint(1,9999)}"
                    print(num)
                    wrt(file, num)
                for _ in range(5):
                    num = f"{x}@{randint(1,9999)}"
                    print(num)
                    wrt(file, num)
                print(f"{x}{i}")
                wrt(file, f"{x}{i}")
                print(f"{x}@{i}")
                wrt(file, f"{x}@{i}")
                print(f"{x}{i}{i}{i}")
                wrt(file , f"{x}{i}{i}{i}")
                print(f"{x}{i}{i}{i}{i}")
                wrt(file , f"{x}{i}{i}{i}{i}")
                print(f"{x}{i}{i}")
                wrt(file , f"{x}{i}{i}")
                print(f"{x}@{i}{i}{i}")
                wrt(file , f"{x}@{i}{i}{i}")
                print(f"{x}@{i}{i}")
                wrt(file , f"{x}@{i}{i}")
                print(f"{x}@{i}{i}{i}{i}")
                wrt(file,f"{x}@{i}{i}{i}{i}")
                print(f"{ii}{ii}{ii}")
                wrt(file, f"{ii}{ii}{ii}")
                print(f"{ii}{ii}{ii}{ii}")
                wrt(file , f"{ii}{ii}{ii}{ii}")
                print(f"{x}{ii}")
                wrt(file, f"{x}{ii}")
                print(f"{x}@{ii}")
                wrt(file, f"{x}@{ii}")
                print(f"{x}{ii}{ii}{ii}")
                wrt(file, f"{x}{ii}{ii}{ii}")
                print(f"{x}{ii}{ii}{ii}{ii}")
                wrt(file , f"{x}{ii}{ii}{ii}{ii}")
                print(f"{x}{ii}{ii}")
                wrt(file,f"{x}{ii}{ii}")
                print(f"{x}@{ii}{ii}{ii}")
                wrt(file, f"{x}@{ii}{ii}{ii}")
                print(f"{x}@{ii}{ii}")
                wrt(file, f"{x}@{ii}{ii}")
                print(f"{x}@{ii}{ii}{ii}{ii}")
                wrt(file, f"{x}@{ii}{ii}{ii}{ii}")
                print(f"{x}@{ii}")
                wrt(file, f"{x}@{ii}")
                print(f"{x}#{ii}")
                wrt(file, f"{x}#{ii}")
                print(f"{x}#{ii}{ii}{ii}")
                wrt(file, f"{x}#{ii}{ii}{ii}")
                print(f"{x}#{ii}{ii}")
                wrt(file, f"{x}#{ii}{ii}")
                print(f"{x}#{ii}{ii}{ii}{ii}")
                wrt(file,f"{x}#{ii}{ii}{ii}{ii}")
                print(f"{x}#{ii}")
                wrt(file, f"{x}#{ii}")
                print(f"{x}#{i}")
                wrt(file, f"{x}#{i}")
                print(f"{x}#{i}{i}{i}")
                wrt(file, f"{x}#{i}{i}{i}")
                print(f"{x}#{i}{i}")
                wrt(file, f"{x}#{i}{i}")
                print(f"{x}#{i}{i}{i}{i}")
                wrt(file, f"{x}#{i}{i}{i}{i}")
                for _ in range(5):
                    num = f"{x}#{randint(1,9999)}"
                    print(num)
                    wrt(file,num)
                print(f"{x}+{ii}")
                wrt(file , f"{x}+{ii}")
                print(f"{x}+{ii}{ii}{ii}")
                wrt(file, f"{x}+{ii}{ii}{ii}")
                print(f"{x}+{ii}{ii}")
                wrt(file, f"{x}+{ii}{ii}")
                print(f"{x}+{ii}{ii}{ii}{ii}")
                wrt(file, f"{x}+{ii}{ii}{ii}{ii}")
                print(f"{x}+{ii}")
                wrt(file, f"{x}+{ii}")
                print(f"{x}+{i}")
                wrt(file, f"{x}+{i}")
                print(f"{x}+{i}{i}{i}")
                wrt(file, f"{x}+{i}{i}{i}")
                print(f"{x}+{i}{i}")
                wrt(file, f"{x}+{i}{i}")
                print(f"{x}+{i}{i}{i}{i}")
                wrt(file, f"{x}+{i}{i}{i}{i}")
                for _ in range(5):
                    num = f"{x}+{randint(1,9999)}"
                    print(num)
                    wrt(file,num)
                print(f"{x}!{ii}")
                wrt(file, f"{x}!{ii}")
                print(f"{x}!{ii}{ii}{ii}")
                wrt(file, f"{x}!{ii}{ii}{ii}")
                print(f"{x}!{ii}{ii}")
                wrt(file, f"{x}!{ii}{ii}")
                print(f"{x}!{ii}{ii}{ii}{ii}")
                wrt(file, f"{x}!{ii}{ii}{ii}{ii}")
                print(f"{x}!{ii}")
                wrt(file, f"{x}!{ii}")
                print(f"{x}!{i}")
                wrt(file, f"{x}!{i}")
                print(f"{x}!{i}{i}{i}")
                wrt(file, f"{x}!{i}")
                print(f"{x}!{i}{i}")
                wrt(file,f"{x}!{i}{i}")
                print(f"{x}!{i}{i}{i}{i}")
                wrt(file, f"{x}!{i}{i}{i}{i}")
                for _ in range(5):
                    num = f"{x}!{randint(1,9999)}"
                    print(num)
                    wrt(file, num)
                print(f"{x}.{ii}")
                wrt(file, f"{x}.{ii}")
                print(f"{x}.{ii}{ii}{ii}")
                wrt(file, f"{x}.{ii}{ii}{ii}")
                print(f"{x}.{ii}{ii}")
                wrt(file, f"{x}.{ii}{ii}")
                print(f"{x}.{ii}{ii}{ii}{ii}")
                wrt(file, f"{x}.{ii}{ii}{ii}{ii}")
                print(f"{x}.{ii}")
                wrt(file, f"{x}.{ii}")
                print(f"{x}.{i}")
                wrt(file, f"{x}.{i}")
                print(f"{x}.{i}{i}{i}")
                wrt(file, f"{x}.{i}{i}{i}")
                print(f"{x}.{i}{i}")
                wrt(file, f"{x}.{i}{i}")
                print(f"{x}.{i}{i}{i}{i}")
                wrt(file, f"{x}.{i}{i}{i}{i}")
                for _ in range(5):
                    num = f"{x}.{randint(1,9999)}"
                    print(num)
                    wrt(file, num)
                print(f"{x}*{ii}")
                wrt(file, f"{x}*{ii}")
                print(f"{x}*{ii}{ii}{ii}")
                wrt(file, f"{x}*{ii}{ii}{ii}")
                print(f"{x}*{ii}{ii}")
                wrt(file, f"{x}*{ii}{ii}")
                print(f"{x}*{ii}{ii}{ii}{ii}")
                wrt(file, f"{x}*{ii}{ii}{ii}{ii}")
                print(f"{x}*{ii}")
                wrt(file, f"{x}*{ii}")
                print(f"{x}*{i}")
                wrt(file, f"{x}*{i}")
                print(f"{x}*{i}{i}{i}")
                wrt(file, f"{x}*{i}{i}{i}")
                print(f"{x}*{i}{i}")
                wrt(file, f"{x}*{i}{i}")
                print(f"{x}*{i}{i}{i}{i}")
                wrt(file, f"{x}*{i}{i}{i}{i}")
                for _ in range(5):
                    num = f"{x}*{randint(1,9999)}"
                    print(num)
                    wrt(file, num)
                print(f"{x}_{ii}")
                wrt(file, f"{x}_{ii}")
                print(f"{x}_{ii}{ii}{ii}")
                wrt(file, f"{x}_{ii}{ii}{ii}")
                print(f"{x}_{ii}{ii}")
                wrt(file, f"{x}_{ii}{ii}")
                print(f"{x}_{ii}{ii}{ii}{ii}")
                wrt(file, f"{x}_{ii}{ii}{ii}{ii}")
                print(f"{x}_{ii}")
                wrt(file, f"{x}_{ii}")
                print(f"{x}_{i}")
                wrt(file, f"{x}_{i}")
                print(f"{x}_{i}{i}{i}")
                wrt(file, f"{x}_{i}{i}{i}")
                print(f"{x}_{i}{i}")
                wrt(file, f"{x}_{i}{i}")
                print(f"{x}_{i}{i}{i}{i}")
                wrt(file, f"{x}_{i}{i}{i}{i}")
                for _ in range(5):
                    num = f"{x}_{randint(1,9999)}"
                    print(num)
                    wrt(file, num)
                print(f"{x}-{ii}")
                wrt(file, f"{x}-{ii}")
                print(f"{x}-{ii}{ii}{ii}")
                wrt(file, f"{x}-{ii}{ii}{ii}")
                print(f"{x}-{ii}{ii}")
                wrt(file, f"{x}-{ii}{ii}")
                print(f"{x}-{ii}{ii}{ii}{ii}")
                wrt(file, f"{x}-{ii}{ii}{ii}{ii}")
                print(f"{x}-{ii}")
                wrt(file, f"{x}-{ii}")
                print(f"{x}-{i}")
                wrt(file, f"{x}-{i}")
                print(f"{x}-{i}{i}{i}")
                wrt(file, f"{x}-{i}{i}{i}")
                print(f"{x}-{i}{i}")
                wrt(file, f"{x}-{i}{i}")
                print(f"{x}-{i}{i}{i}{i}")
                wrt(file,f"{x}-{i}{i}{i}{i}")
                for _ in range(5):
                    num = f"{x}-{randint(1,9999)}"
                    print(num)
                    wrt(file, num)
        end = time() - start
        print("".join("-" for _ in range(30)))
        print("List Complete! :)")
        print(f"Maked {count} Password In {end} Seconds")
        if file.upper() != "NOT":
            print(f"Saved Password List To {file}")
        else:
            print("Dont Saved To Any File (Because You Entered NOT) :(")
        print("Enjoy! :)")
    except KeyboardInterrupt:
        print("Bye. :(")
    except ValueError:
        print("Please Enter Good Answer")
        exit()
    finally:
        if file.upper() != "NOT":
            f.close()
def wifi():
    try:
        length = int(input("Enter Password Lenght (If Want To Random Length, Enter 0): ")) #get length
        if length == 0: #if want to random length
            answer = input("Do You Want Choose Random Range(Y/N): ").upper() #get want choose random range
            if answer  == "Y": #if want to random length
                a = int(input("Enter Start Number: ")) #get start number
                b = int(input("Enter Stop Number: ")) #get stop number
                rand = randint(a,b) #get random number in range a to b
            elif answer == "N": #if not want choose random length
                rand = randint(8,20) #set to default random length
            else: #if entered unknown answer
                rand = randint(8,20) #again set to default random length
        count = int(input("Enter Password Count: ")) #get count of password
        file = input("Enter File Name Or Directory To Save (If Not Want Save to File, Enter NOT): ") #get want save to file
        if file.upper() == "NOT": #if not want save to file
            pass #dont execute ant code
        else: #if want save to file
            f = open(file,"a") # make or open file
            f.truncate(0) # clear file data
        start = time()
        for _ in range(count): # loop for all password count
            if length == 0:
                if answer == "Y":
                    password = "".join(choice(digits) for _ in range(rand)) # make password with custom range
                    rand = randint(a,b) # again set random range a to b
                else:
                    password = "".join(choice(digits) for _ in range(rand)) # make password with default range
                    rand = randint(8,20) # again set random range to default(8 to 20)
            else: # if not want random length
                password = "".join(choice(digits) for _ in range(length)) # make password with entered length
            print(password)
            if file.upper() != "NOT":   # if want save to file
                f.write(f"{password}\n") # print password to file
        end = start - time()
        print("".join("-" for _ in range(30))) # print separator line
        print("List Complete! :)")
        print(f"Maked {count} Password In {end} Seconds")
        if file.upper() != "NOT": #if want save to file
            print(f"Saved Password List To {file}")
        else:
            print("Dont Saved To Any File (Because You Entered NOT) :(")
        print("Enjoy! :)")
    except KeyboardInterrupt:
        print("Bye. :(")
    except ValueError:
        print("Please Enter Good Answer")
        exit()
    finally:
        if file.upper() != "NOT":
            f.close()
def string():
    try:
        start = input("Enter Start Word: ")
        end = input("Enter End Word: ")
        count = int(input("Enter Password Count(If Want Choose Range, Enter 0): "))
        if count == 0:
            a = int(input("Enter Start Number: "))
            b = int(input("Enter End Number: "))
        else:
            a = 1
            b = count
        file = input("Enter File Name Or Directory To Save (If Not Want Save to File, Enter NOT): ")
        if file.upper() == "NOT": #if not want save to file
            pass #dont execute ant code
        else: #if want save to file
            f = open(file,"a") # make or open file
            f.truncate(0) # clear file data
        start = time()
        for i in range(a,b + 1):
            print(f"{start}{i}{end}")
            if file.upper() != "NOT":
                f.write(f"{start}{i}{end}\n")
        end = time() - start
        print("".join("-" for _ in range(30))) # print separator line
        print("List Complete! :)")
        print(f"Maked {count} Password In {end} Seconds")
        if file.upper() != "NOT": #if want save to file
            print(f"Saved Password List To {file}")
        else:
            print("Dont Saved To Any File (Because You Entered NOT) :(")
        print("Enjoy! :)")
    except ValueError:
        print("Please Enter Good Answer")
    except KeyboardInterrupt:
        print("Bye. :(")
    finally:
        if file.upper() != "NOT":
            f.close()
def str_int():
    try:
        word = input("Enter Word: ")
        count = int(input("Enter Password Count(If Want Choose Range, Enter 0): "))
        if count == 0:
            a = int(input("Enter Start Number: "))
            b = int(input("Enter End Number: "))
        else:
            a = 1
            b = count
        file = input("Enter File Name Or Directory To Save (If Not Want Save to File, Enter NOT): ")
        if file.upper() == "NOT":
            pass
        else:
            f = open(file,"a")
            f.truncate(0)
        start = time()
        for i in range(a,b + 1):
            print(f"{word}{i}")
            if file.upper() != "NOT":
                f.write(f"{word}{i}\n")
        end = time() - start
        print("".join("-" for _ in range(30))) # print separator line
        print("List Complete! :)")
        print(f"Maked {count} Password In {end} Seconds")
        if file.upper() != "NOT": #if want save to file
            print(f"Saved Password List To {file}")
        else:
            print("Dont Saved To Any File (Because You Entered NOT) :(")
        print("Enjoy! :)")
    except ValueError:
        print("Please Enter Good Answer")
    except KeyboardInterrupt:
        print("Bye. :(")
    finally:
        if file.upper() != "NOT":
            f.close()
def merge():
    a = randint(1,6)
    if a == "1":
        task = Process(target=normal())
    elif a == "2":
        task = Process(target=choose())
    elif a == "3":
        task = Process(target=vps())
    elif a == "4":
        task = Process(target=wifi())
    elif a == "5":
        task = Process(target=string())
    elif a == "6":
        task = Process(target=str_int())

if answer == "1":
    task = Process(target=normal())
elif answer == "2":
    task = Process(target=choose())
elif answer == "3":
    task = Process(target=vps())
elif answer == "4":
    task = Process(target=wifi())
elif answer == "5":
    task = Process(target=string())
elif answer == "6":
    task = Process(target=str_int())
else:
    merge()

 

جهت ارسال پروژه های خود :

پروژه ی خود به همراه توضیح آن  ارسال کنید به  : 

mrpythonblog@gmail.com


 Telegram Channel : @mrpythonblog

پروژه ی ارسالی - حرف زدن یک کامپیوتر .

  • ۹۱۲
فرستنده سید امیررضا غمیلویی
نام پروژه : اسکریپت تبدیل متن به صوت
دسته بندی : python
توضیحات : کار این اسکریپت تبدیل متن کاربر به صوت و پخش کردن اونه . در اصل : متن بده ، صوت تحویل بگیر :) !

 

نکته : مستر پایتون هیچ تغییری در سورس کد های ارسالی ایجاد نخواهد کرد و سورس کد مستقیما نوشته خود شخص فرستنده است . 

 

توضیحات MrPython در مورد پروژه : یکی از مزایای این پروژه ، ظاهر نسبتا جذاب پروژه بود . برای چیدمان ظاهر برنامه از کتابخانه هایی مثل pyfiglet کمک گرفته شده که تاثیر زیادی دارن . 

برای اجرای صحیح اسکریپت باید کتابخونه های pyfiglet , pyttsx3 , colorama  رو با استفاده از pip نصب کنید . 

 

توضیحات فرستنده پروژه : 

قراره تو این مطلب کاری کنیم که کامپیوتر با ما حرف بزنه ! یعنی در اصل قراره متون انگلیسی رو وارد اسکریپت کنیم تا به ما صوت تحویل بده . خب برای اینکار عین همیشه باید یکی از کتابخونه های پایتون رو import کنیم و از اون استفاده کنیم . توی سورس کدی که من قراره بنویسم از کتابخونه  pyttsx3 استفاده کردم .

برای اینکه این کتابخونه رو توی برنامه ها و کد هاتون استفاده کنید ، اوّل اون رو با pip نصب کنید:

pip install pyttsx3

اینکارو که انجام دادید VS code رو باز کنید و یک فایل با اسم دلخواه با فرمت py. ذخیره کنید. خب برای اینکه از این کتابخونه استفاده کنیم میام یه همچین کدی مینویسم :

sound = pyttsx3.init()

کد ساده ایه ، اینجا یه متغیر به اسم sound میسازیم و pyttsx3 رو داخل این متغیر می ریزیم تا بعداً از این کتابخونه به عنوان sound استفاده کنیم . خب حالا به این کد پائینی توجّه کنید :

sound.setProperty('rate' , 110)
sound.say("hello")
sound.runAndWait()

خب توی کد بالا اوّل اومدم با متود setProperty  میزان سرعت رو تنطیم کردم و بعدش اومدم با متود say گفتم بهش hello رو بگو و بعدش توی خط پایین بهش گفتم که بعد از اجرا چند لحظه صبر کن و بعد کار خودت رو تموم کن. خب در اصل این هسته برنامه ما بود حالا بجای hello توی خط دوّم باید بهش دستور بدیم ورودی که از کاربر میگه رو بگه . خب برای اینکار میایم یه input به برنامه مون اضافه می کنیم که کار خیلی ساده ای هستش و بعد از اون بیشتر میریم برنامه مون رو قشنگ تر می کنیم . به سورس کد پایین توجه کنید:

import pyttsx3
import colorama
import pyfiglet 
import os
from time import sleep
os.system("Title @_@")

sound = pyttsx3.init()
os.system('cls' or 'clear')
header = pyfiglet.figlet_format(" T x T to sound " , font='big')
print(colorama.Fore.MAGENTA+" \n    ~ Hello , welcome to my script @_@ ")
print(header)

print(colorama.Fore.GREEN+ " ;) Hey man U can Enter some words and I can convert them to sounds for U &)  ")
print()
text = input(colorama.Fore.GREEN+" 0K man enter the worlds or sentences >> ")
sound.setProperty('rate' , 110)
sound.say(text)
sound.runAndWait()
sleep(0.1)
print("")
sleep(0.1)
print(colorama.Fore.GREEN+" ~ did U enjoy this ?! please let me know by this Contact info : ")
print(colorama.Fore.RED+" aghamilouei85@gmail.com")
print("")
sleep(2.5)
input(colorama.Fore.GREEN+" Enter a key to Exit >>> ")
 

ببینید من توی این سورس کد اومدم چند تا کار انجام دادم اوّل اینکه به بالای برنامه خودم یه header اضافه کردم و گفتم که title صفحه ای که باز میشه @_@ باشه . چند تا چیز دیگه هم هست که به لطف ساده بودن پایتون میتونید متوجه اونا بشید . حالا بشینید کد هارو بررسی کنید یا ران کنید تا متوجه بشید اوضاع از چه قراره . راستی این کد با پایتون 3.9.0 نوشته شده.

&& یه نکته باحال در مورد این کتابخونه اینه که با متون انگلیسی که می نویسید علامت ((( , ))) قرار بدید کمی مکث می کنه و به خوندن بقیه رشته ادامه میده .

خوب اینجا دیگه کارمون تمومه ، شما هم میتونید سورسو عوض کنید و ویرایش خودتونو بسازید و شاید هم بخواید اونو گرافیکی کنید . باقی اش با خودتون . . . شاید بعداً ورژن 1.2 رو هم با هم نوشتیم . با تشکر از Mr.python خدانگهدار.

 

جهت ارسال پروژه های خود :

پروژه ی خود به همراه توضیح آن  ارسال کنید به  : 

mrpythonblog@gmail.com


 Telegram Channel : @mrpythonblog

پروژه ی ارسالی - اسکریپت چالش اعداد انتخابی !!

  • ۳۵۹
فرستنده : مهدی توازهی
نام پروژه : اسکریپت چالش اعداد انتخابی 
راه ارتباطی با فرستنده (Telegram) : Mahdi_Tavazohi@
دسته بندی : python
توضیحات : شما عددی را بین ۱ تا ۱۰۷ در ذهن خود در نظر میگیرید و پس از اجرا ، اسکریپت با پرسیدن 7 سوال در رابطه با محدوده ی عدد شما ، با تکنیکی خاص عدد شما را به درستی حدس میزند !!!