Vir slike: pixabay.com
Dobrodošli na mojem naslednjem blogu o programiranju Python-a. Tu sem spet, da vam dam nekaj zasvojenih nasvetov o Pythonu. Toda tokrat ne temelji na krampanju, prebijanju ali varovanju. Gre za uporabo programiranja python za vsakodnevne naloge. Torej, začnimo.
Kaj je programiranje? Brez skrbi. Nisem tukaj, da bi vam dal značilno definicijo programiranja. Del, o katerem bom danes govoril, je uporaba programiranja v našem vsakodnevnem življenju in kako nam pomaga avtomatizirati stvari.
Programiranje Python-a za neinženirje
Dolgočasne naloge
Vsi v našem življenju niso inženirji programske opreme. Toda vseeno ima vsak svoje stvari, s katerimi se mora spoprijeti. Toda programiranje je ena stvar, ki lahko marsikaj olajša. V vsakdanjem urniku imamo vsi veliko opravil. In namesto da temu sledimo, lahko pustimo, da stroj skrbi za te stvari. Svoje naloge lahko avtomatiziramo s preprostim programiranjem. Čeprav je tam veliko komercialne programske opreme, vendar ne moremo porabiti denarja za vsako stvar. Prav tako ne bodo prilagojene lastnim potrebam. Poleg tega je ustvarjanje lastnega programa povsem drugačna raven. Najboljši jezik, ki si ga lahko omislim, je programiranje Pythona. Naj povem kako.
Python v / s Svet
Če že prej poznate nekaj programov, zlasti C ali C ++, potem morda veste, kako dolgočasno je ustvariti program in ga nato odpraviti na napako, tako da postane čisti program. A s Pythonom to ni tako. In tudi za razliko od Java, Assembly, JavaScript ali katerega koli drugega jezika python nima tistih težko zapomljivih sintaksov.
Python je izjemno uporabniku prijazen in ima določen način za početje. Za razliko od rubyja, ki je drugo tekmovanje za programiranje python-a, kjer je ruby preveč uporabniku prijazen in ima veliko načinov, kako narediti en sam python, python tega ne ponuja. Programiranje Python ima vdolbine in uporabniško berljivo kodo.
Eden najboljših primerov, na katerega si lahko mislim, je to. Vsake toliko časa ali za nekatere ljudi imamo navado, da vsake toliko prenašamo videoposnetke z youtube-a. Tako lahko zagotovo naložimo te video posnetke, tako da s spleta naložimo nekaj naključne programske opreme in jo uporabimo. Toda včasih ni tako enostavno. Večina programske opreme na spletu je napolnjena s Trojanci in virusi.
Torej ne morete preprosto biti odvisni od njih. Bog ve, kakšna logična bomba je pravzaprav prodrta v to programsko opremo. Torej, namesto da bi človeštvo popeljali skozi vse te težave, imamo programiranje pitona, da se rešimo pred vsemi temi težavami. To sem že davno našla nekje na spletu in jo uporabljam od takrat. Preko tega lahko s preprostim ukazom naložite youtube video posnetke.
Torej, kako gre:
1. korak: Namestite Python, pip in se prepričajte, da ste med namestitvijo izbrali spremenljivke okolja, da lahko pokličete python iz ukazne vrstice od kjer koli.
2. korak: Uporabite ta ukaz za prenos modula youtube
>>>pip install youtube-dl
3. korak: Končano. To je to. Ni koraka 3. Zdaj, ko morate prenesti kateri koli video, preprosto uporabite ta ukaz v ukazni vrstici in naložite svoj video:
>>>youtube-dl (OPTIONS) URL (URL…)
Zdaj imate morda natančno predstavo o čem sem govoril. Ali ni to izjemno enostavno, kot da bi naložili katero koli trojansko programsko opremo iz interneta?
Upoštevajte le, da je youtube-dl majhen program ukazne vrstice za prenos videov z YouTube.com in nekaj več spletnih mest. Zahteva tolmač Python, različice 2.6, 2.7 ali 3.2 ali novejši, in ni specifičen za platformo. Deluje v oknu Unix, v operacijskem sistemu Windows ali Mac OS X. Poskusite lahko tudi >>> youtube-dl –help in preverite potrebne korake, na primer, če ga želite prenesti s https ali http ali z drugega pristanišča ali nekaj takega.
Priporočeni tečaji
- Tečaji programiranja XML
- CCNA izpitni tečaj
- Certifikacijski tečaj v sistemu UNIX in Linux
- Usposabljanje za programiranje HTML 5
Delo: V želji za srečen rojstni dan, vklopljen GEEK način
Zdaj, če vam ta blog ni dolgčas in še vedno berete to, bom na malo višji ravni. Predpostavimo, da ste oseba, ki je geek v vaši skupini prijateljev, in nenehno vam govorijo, kako dolgočasni ste, v računalnik pa vlagate 16 ur od svojih 24 ur na dan. Potem je to en način, kako pokazati, kako pravljični ste lahko. Zdaj bom predpostavljal, da že poznate bite in bajte programiranja python-a, in nadaljeval bom naprej.
Recimo, da imate ta teden en prijateljev rojstni dan in morate narediti nekaj na zabaven način, ki bo navdušil vse vaše prijatelje. Nato najprej poglejmo, kaj se dogaja, ko greste na rojstnodnevno zabavo. Na sporedu bodo torte, sveče in rojstnodnevne pesmi, ki želijo vesel rojstni dan. Tako ustvarimo virtualno torto, katere senčilo ima učinek izenačevanja, ki ustreza skladbi "vesel rojstni dan", ki se predvaja v ozadju. Tu bodo torte imele sveče s plameni, ki naključno plapolijo.
Prav tako bomo imeli čudovit prikaz sporočila o veselem rojstnem dnevu. Prva stvar, ki jo moramo storiti, je, da uvozimo nekaj modulov, da bodo pravilno delovali. Torej, tukaj je to (in samo ne pozabite, da je to vse en kos kode, ki ga je treba umestiti v eno datoteko xyz.py)
>>>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
Zdaj pa lahko napišemo kodo za datoteko val / mp3, ki se bo zagnala, ko se koda 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
Opomba: Vse, napisano v rdeči barvi ali se začne z # oznako, so komentarji. Vrednosti, kot so korekcijska vrednost, dolžina skladbe, se razlikujejo od osebe do osebe, odvisno od izbrane pesmi in drugih stvari. Te stvari boste morda morali prilagoditi po izbiri pesmi.
Zdaj prihaja del Torte. Tu je delček kode, ki sem ga napisal za torto. Zaslon in velikost torte lahko spremenite glede na to, kako mora izgledati torta.
>>>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
Zdaj moramo torto nastaviti na plamen, tako da izgleda, da gori sveča.
flame_flutter_rate = 50
FLAMES = ( " . ", ". ", " ." ) current_flame = ""os.system("tput civis") #hide cursor
Zdaj, če ste na računalniku Mac, boste morda morali odpreti itunes ali kakšen drug predvajalnik, da boste lahko zagnali skladbo. Če ste na računalniku Mac, komentirajte spodnjo ukazno kodo os.system. (Preprosto odstranite oznako 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
"" "
OPOMBA: popravek je treba pomnožiti s časom spanja
To je zaradi več dejavnikov, kot je čas, potreben za prebujanje iz spanja, vrsta uporabljenega terminala .. itd
SPREMENITE VREDNOST korekcije, da bo ustrezala vašim potrebam
"" "time.sleep(((float)(display_rate * t_total) / data_length)*correction)
# clear screen
if _f != data_length/display_rate-1:
os.system("clear")
raw_input()
Opomba: Ta koda je bila napisana v pythonu 2.7.9. Morda boste morali narediti nekaj sprememb, če uporabljate python v3.4 / starejši ali novejši.
Zdaj je to nekaj primerov, ki jih počnem, ko se dolgočasim. Samo spremenite ime, naredite nekaj sprememb za vsako drugo osebo. Torej s tem programiranje pythona ne bo samo zanimivo, ampak lahko opravlja tudi vsakodnevne naloge.
Lahko celo ustvarite svoj seznam opravkov ali beležko ali kaj podobnega. Zdaj si lahko mislite, da je tam veliko n programov, ki delajo enako, zakaj potem napišete svojega. Razlog za to je prilagajanje. Ko kupite ali prenesete programsko opremo, ne veste, kaj je izvorna koda ali če potrebujete nekaj lastnih prilagoditev, boste morda morali celo kupiti programsko opremo. Toda programiranje python-a je tako zelo enostavno razumeti in zapisati, da vam ni treba ničesar kupiti.
Poleg tega, če povem resnico, sem najprej začel avtomatizirati svoje vsakodnevne naloge s programiranjem python-a, vendar sem se pozneje tako zelo zanimal, da sem se začel učiti vsega v zvezi s tem in zdaj je moj profil dela enak; za ustvarjanje programov v Pythonu.
To bi bil konec tega spletnega dnevnika, ampak preden končam s tem, vam bom dal nekaj točk, tako da boste lahko odšli pogledat nekaj super stvari o avtomatizaciji, ki so jih ljudje storili s pythonom in prepričan sem, da boste presenečeni, ko boste videli kaj so ljudje storili s preprostim programiranjem. Obstaja tudi knjiga z imenom "Avtomatiziranje dolgočasnih stvari s Python-om". Prepričajte se.
Torej, tukaj je moj seznam:
- Preimenovanje več datotek s preprosto kodo (govorim o datotekah več kot 100.200 ali celo 1000)
- Samodejno skripti pri delu (če ste sistemski inženir)
- Ustvarjanje bralnika RSS (ker je uporaba vgrajenega preveč prevladujoča)
- Ustvarjanje imenika z zaščitenim geslom (izjemno preprosto)
- Ustvarjanje beležnice, zaščitene z geslom, za shranjevanje gesel in osebnih dokumentov (vključno s slikami in dokumenti)
- Prenašanje datotek mp3 s pametnim iskanjem (prenos mp3 datotek s podobnimi imeni neposredno in naključno iz spleta)
Priporočeni članki
Tukaj je nekaj člankov, ki vam bodo pomagali do podrobnosti o praktičnem programiranju Python-a, zato pojdite po povezavi.
- Ključne razlike med Python in JavaScript
- TOP najbolj neverjetna vprašanja in odgovori o intervjuju za Python
- Kariera v Pythonu
- 10 Pomembni koristni nasveti o programiranju Python-a
- Python vs Ruby Performance - Ugotovite razlike