Izvor slike: pixabay.com
Dobrodošli na moj sljedeći blog o Python Programiranju. Ovdje sam opet kako bih vam dao nekoliko zaraznih savjeta o Pythonu. Ali ovaj put se ne temelji na hakiranju, kreiranju ili sigurnosnom razbijanju. Radi se o korištenju programiranja python-a za naše svakodnevne zadatke. Dakle, neka krene.
Što je programiranje? Ne brini. Nisam ovdje da bih vam dao tipičnu definiciju Programiranja. Dio o kojem ću danas govoriti ovdje je upotreba programa u našem svakodnevnom životu i način na koji nam pomaže automatizirati stvari.
Python programiranje za neinženjere
Umorni zadaci
Svatko u našem životu nije softverski inženjer. Ali ipak, svako ima svoje stvari s kojima se mora baviti. Ali programiranje je jedna stvar koja puno stvari može olakšati. Svi mi imamo puno obaveza u svom svakodnevnom rasporedu. I umjesto da to pratimo, možemo pustiti stroj da se brine o tim stvarima. Svoje zadatke možemo automatizirati pomoću jednostavnog programiranja. Iako postoji puno komercijalnog softvera, ne možemo potrošiti novac na svaku stvar. Također, oni neće biti prema našim vlastitim potrebama. Osim toga, stvaranje vlastitog programa potpuno je drugačija razina. Najbolji jezik koji se trenutno mogu sjetiti je Python programiranje. Dopustite da vam kažem kako.
Python v / s Svijet
Ako prethodno imate neko znanje iz programiranja, posebno C ili C ++, možda znate koliko je dosadno stvoriti program, a zatim ukloniti pogrešku kako biste ga očistili. Ali to nije slučaj s Python-om. Čak i za razliku od Java, Assembly, JavaScript ili bilo kojeg drugog jezika, python nema te teško pamtljive sintakse.
Python je vrlo razumljiv i ima definiran način vršenja stvari. Za razliku od rubyja, što je još jedno natjecanje za programiranje pythona, gdje je ruby previše user-friendly i ima puno načina za napraviti jedan python, python to ne nudi. Programiranje Pythona ima udubljenja i korisnički čitljiv kôd.
Jedan od najboljih primjera na koji se mogu sjetiti je ovaj. S vremena na vrijeme ili za neke ljude imamo naviku preuzimati videozapise s youtubea s vremena na vrijeme. Dakle, ove videozapise zasigurno možemo preuzeti tako da s Interneta preuzmemo neki nasumični softver i upotrebimo ga. Ali ponekad, to nije tako jednostavno. Većina softvera na webu je napunjena Trojancima i virusima.
Dakle, ne možete jednostavno ovisiti o njima. Bog zna, kakva je logička bomba zapravo prožeta u taj softver. Dakle, umjesto da čovječanstvo prođemo kroz sve te probleme, imamo programiranje pytona kako bismo se spasili od svih ovih gnjavaža. Davno sam to pronašao negdje na webu i koristim ga od tada. Kroz to, možete jednostavno preuzeti youtube videozapise jednostavnom naredbom.
Dakle, evo kako to ide:
Korak 1: Instalirajte Python, pip i provjerite jeste li odabrali varijable okoline prilikom instalacije kako biste mogli nazvati python iz naredbenog retka iz bilo kojeg mjesta.
Korak 2: Pomoću ove naredbe za preuzimanje youtube modula
>>>pip install youtube-dl
Korak 3: Gotovo. To je to. Nema koraka 3. Sada kad god trebate preuzeti bilo koji videozapis, jednostavno upotrijebite ovu naredbu u naredbenoj liniji i preuzmite svoj video:
>>>youtube-dl (OPTIONS) URL (URL…)
Sada, možda imate tačnu predstavu o čemu sam govorio. Nije li to krajnje jednostavno nego preuzimati bilo koji trojanski softver s interneta?
Samo imajte na umu da je youtube-dl mali program naredbenog retka za preuzimanje videozapisa sa YouTube.com i nekoliko drugih mjesta. Potreban je interpretator Python, verzije 2.6, 2.7 ili 3.2+, a nije specifičan za platformu. Trebao bi raditi na vašem Unix okviru, na Windows-u ili na Mac OS X. Također možete isprobati >>> youtube-dl –help i provjeriti potrebne korake, na primjer, ako ga želite preuzeti s https ili http ili s drugog porta ili nešto kao to.
Preporučeni tečajevi
- Tečajevi programiranja XML-a
- CCNA tečaj za ovjeru ispita
- Tečaj certifikacije u UNIX-u i Linux OS-u
- Obuka iz programiranja HTML 5
Posao: Želim sretan rođendan, GEEK način UKLJUČEN
Ako vam ovaj blog nije dosadan i još uvijek čitate ovo, ja ću na malo višu razinu. Pretpostavimo da ste osoba koja je genijalac u vašoj grupi prijatelja, i stalno vam govore koliko vam je dosadno, a ulažete 16 sati od svojih 24 sata dnevno u računalo. Zatim, ovo je jedan način da pokažete koliko nevjerojatni možete biti. Sad ću pretpostaviti da već znate bitove i bajtove programiranja pytona, i nastavit ću prema naprijed.
Recimo, ovog tjedna imate jedan rođendan svog prijatelja i trebate nešto učiniti na šaljiv način koji će zadiviti sve vaše prijatelje. Zatim prvo da napravimo popis stvari koje postoje kad idete na rođendansku zabavu. Bit će tu pjesama Torte, Svijeće i Rođendani koji žele Sretan rođendan. Dakle, omogućujemo stvaranje virtualne torte čija nijansa ima efekt izjednačivanja koji odgovara pjesmi "sretan rođendan" koja se reproducira u pozadini. Ovdje će kolač imati svijeće s plamenom koji nasumično lepršaju.
Također, imat ćemo fantastičan prikaz poruke sretnog rođendana. Prvo što trebamo učiniti je uvesti neke module kako bi ispravno radili. Dakle, evo ga (i samo zapamtite da je sve ovo jedan kôd koji treba smjestiti u jednu xyz.py datoteku)
>>>import scipy.io.wavfile as wavfile
>>>import numpy as np
>>>import pylab as pl
>>>import time
>>>import os
>>>import sys
>>>import subprocess
>>>from scipy import mean
>>>from random import randint
Sada dopuštamo pisanje koda za val / mp3 datoteku koja će se izvoditi kad se kôd izvrši.
>>>FILE = "Song.mp3"
>>>rate, data = wavfile.read(FILE)
>>>t_total = len(data(:, 0))/rate
>>>display_rate = 1500 #number of frames processed in one iteration
>>>sample_size = 120
>>>max_display = 90
>>>data_length = len(data) #total number of frames
>>>_min = min((abs(x) for x in data(:, 0))) #max amplitude in the wav
>>>_max = max((abs(x) for x in data(:, 0))) #min amplitude in the wav
>>>correction = 0.645
Napomena: Sve napisano crvenom bojom ili počevši od # oznake, komentari su. Vrijednosti poput korekcijske vrijednosti, duljine pjesme razlikuju se od osobe do osobe, ovisno o odabranoj pjesmi i drugim stvarima. Možda ćete morati prilagoditi te stvari prema izboru pjesme.
Sada dolazi dio Torte. Evo dijela koda koji sam napisao za tortu. Možete promijeniti prikaz i veličinu kolača ovisno o načinu izgleda kolača.
>>>cols = int(subprocess.Popen("tput cols", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE).stdout.readlines()(0)) #columns in terminal
>>>display_char = "8"
>>>cake_size = 50
Sada tortu trebamo postaviti na plamen tako da izgleda kao da svijeća gori.
flame_flutter_rate = 50
FLAMES = ( " . ", ". ", " ." ) current_flame = ""os.system("tput civis") #hide cursor
Ako ste na Mac-u, možda ćete trebati otvoriti itunes ili neki drugi uređaj da biste pokrenuli pjesmu. Dakle, ako ste na macu, komentirajte donji naredbeni kod os.system. (Jednostavno uklonite oznaku hash #)
#os.system("open "+FILE)
for _f in range(data_length/display_rate):
# fluttering effect to candle flames
if _f%flame_flutter_rate == 0:
current_flame = (" "*(cols/2 - cake_size/2))+((" "+FLAMES(randint(0, 2))+" ")*(cake_size/5))
print current_flame
# candles
print (" "*(cols/2 - cake_size/2))+(" | "*(cake_size/5))
# cake top layer
print (" "*(cols/2 - cake_size/2))+("-"*cake_size)
bucket = () mug = ()
# mug contains the current frame samples (absolute values) of given sample_size
# average of mugs are put into bucketfor value in data(:, 0)(_f*display_rate+1:(_f+1)*display_rate):
mug.append(abs(value))if len(mug) == sample_size:
bucket.append(mean(mug))
mug = ()bucket = ( (float)((x - _min) * max_display)/(_max - _min) for x in bucket )
# print the equalizer from the bucket
for value in bucket:
print (" "*(cols/2 - cake_size/2))+"| "+("8"*(value%(cake_size-2)))+(" "*(cake_size-value-2))+"|"
# bottom crust of the cake
print (" "*(cols/2 - cake_size/2))+("-"*cake_size)
# print happy birthday message
os.system("figlet -c -f small Happy Birthday Chetan!")
# sleep to match with the audio
„””
NAPOMENA: ispravljanje se mora pomnožiti s vremenom spavanja
To je zbog nekoliko čimbenika kao što je vrijeme potrebno za buđenje iz sna, vrsta korištenog terminala itd
PROMIJENITE VRIJEDNOST korekcije DA BI UDOBIO VAŠU POTREBU
„””time.sleep(((float)(display_rate * t_total) / data_length)*correction)
# clear screen
if _f != data_length/display_rate-1:
os.system("clear")
raw_input()
Napomena: Ovaj kôd napisan je u pythonu 2.7.9. Možda ćete trebati napraviti neke promjene ako koristite python v3.4 / stariji ili noviji.
Ovo je nekoliko primjera koje radim kad mi dosadi. Samo promijenite ime, napravite nekoliko promjena za svaku drugu osobu. Dakle, ovo ne samo da Python-ove programe čini zanimljivim, već može i izvršavati svakodnevne zadatke.
Možete čak izraditi vlastiti popis obveza ili bilježnicu ili nešto slično. Sad ćete možda pomisliti da postoji 'n' broj programa koji rade isto, pa zašto onda napisati svoj. Razlog za to je prilagodba. Kada kupujete ili preuzimate softver ne znate što je izvorni kod ili ako vam trebaju neke vlastite prilagodbe, možda će vam možda trebati i softver. Ali programiranje pythona toliko je jednostavno za razumjeti i napisati da vam nije potrebno ništa kupiti.
Osim toga, da vam kažem istinu, prvo sam počeo automatizirati svoje svakodnevne zadatke koristeći python programiranje, ali kasnije sam se toliko zainteresirao da sam počeo učiti sve što je povezano s tim i sada je moj profil posla isti; za kreiranje programa u Pythonu.
To bi bio kraj ovog bloga, ali prije nego što to završim, dat ću vam nekoliko bodova, tako da možete krenuti i provjeriti neke super stvari o automatizaciji koje su ljudi napravili s pythonom i siguran sam da ćete se iznenaditi kad vidite što su ljudi napravili jednostavnim programiranjem. Tu je i knjiga nazvana „Automatiziranje dosadnih sitnica s Pythonom“. Obavezno to provjerite.
Dakle, evo mog popisa:
- Preimenovanje više datoteka jednostavnim kodom (govorim o datotekama većim od 100.200 ili čak 1000)
- Automatiziranje skripti na poslu (ako ste sistemski inženjer)
- Stvaranje RSS čitača (jer je upotreba ugrađenog previše prevashodna)
- Stvaranje imenika zaštićenog lozinkom (krajnje jednostavno)
- Stvaranje bilježnice zaštićene lozinkom za spremanje lozinki i osobnih dokumenata (uključujući slike i dokumente)
- Preuzimanje mp3 datoteka pametnim pretraživanjem (prenošenje mp3 datoteka s sličnim imenima izravno i nasumično s interneta)
Preporučeni članci
Evo nekoliko članaka koji će vam pomoći da saznate više detalja o praktičnom programiranju Python-a pa samo prođite vezu.
- Ključne razlike između Pythona i JavaScript-a
- TOP najneverovatnija pitanja i odgovori na Python Intervju
- Karijere u Pythonu
- 10 Važna korisna savjeta o programiranju Pythona
- Python vs Ruby Performance - saznajte razlike