Python

Taken plannen met Python

Taken plannen met Python
Sommige taken in ons leven nemen echt veel tijd in beslag en we raken verveeld door die taken herhaaldelijk te doen. Om die saaie taken te vermijden, automatiseren we die taken in ons systeem. Python heeft veel automatiseringsmodules die kunnen worden gebruikt om onze dingen te automatiseren. Hieronder bespreken we het belang van automatisering en hoe we onze dingen kunnen automatiseren met python. We zullen ook enkele automatiseringsmodules in python bespreken die helpen onze dingen te automatiseren. Dan zullen we enkele use-cases zien van automatisering met python. Aan het einde zullen we zien hoe we ons python-script kunnen plannen om automatisch te worden uitgevoerd bij het opstarten.

Waarom we onze dingen automatiseren

Automatisering van onze spullen kan ons leven gemakkelijker maken. Het heeft veel voordelen, maar enkele belangrijke voordelen van automatisering worden hieronder gegeven:

Automatisering met Python

Er zijn een aantal scripttalen zoals bash, perl etc. om handmatige processen te automatiseren, maar python biedt een haalbare omgeving om aan onze behoeften te voldoen. Het is gemakkelijker om dingen te automatiseren met de programmeertaal Python dan in welke andere taal dan ook. Python heeft veel automatiseringsmodules (i.e. subproces, shutil, os, pyautogui, selenium enz.) die kunnen worden gebruikt in automatisering. We zullen enkele use-cases zien van hoe we onze dingen automatiseren.

Automatiseringsmodules in Python

Hier zullen we enkele automatiseringsmodules in python bespreken, zoals: OS, SUBPROCES, SHUTIL, DATETIME, SELENIUM enz. Deze modules worden gebruikt om systeemopdrachten uit te voeren en kunnen ook worden gebruikt om systeemmappen te manipuleren. Deze modules hebben ingebouwde functies die het gemakkelijker maken om taken op het systeem uit te voeren.

OS en SUBPROCES modules worden voor bijna hetzelfde doel gebruikt. Enkele van de ingebouwde functies van deze modules worden hieronder gegeven:

evenzo SHUTIL module heeft veel functies die interactie met het systeem mogelijk maken;. Enkele functies van deze module worden hieronder gegeven:

DATUM TIJD module wordt gebruikt om de huidige datum en tijd te vinden. Het wordt ook gebruikt om de weekdag en vele andere dingen te vinden. We kunnen onze taak op elk moment en elke datum plannen met behulp van deze module. In de volgende gevallen zullen we het gebruiken om alleen de huidige datum en tijd te vinden.

SELENIUM Module wordt gebruikt om het inlogproces van onze website te automatiseren. We kunnen automatisch inloggen op onze website en deze bijwerken met SELENIUM module. SELENIUM heeft veel ingebouwde functies die worden gebruikt om verschillende taken met betrekking tot browsers uit te voeren.

Systeemopdrachten uitvoeren in Python

We kunnen systeemopdrachten in python uitvoeren met behulp van OS en SUBPROCES modules. Hieronder volgt de syntaxis om de systeemopdracht in python uit te voeren:

os.systeem('commando')

OF

subproces.bel('opdracht')

Als we bijvoorbeeld alle bestanden en mappen in de huidige map willen weergeven, voeren we de volgende opdracht uit in pythonscript

os.systeem('ls')

OF

subproces.bel ('ls')

Hoe dingen te automatiseren met Python

Python kan worden gebruikt om vele soorten dagelijkse taken te automatiseren, wat tijdbesparend kan zijn. Hier zullen we enkele use-cases zien van het automatiseren van onze spullen. We zullen het rangschikken van bestanden in de downloadmap bespreken en een back-up maken van onze belangrijke bestanden.

Bestanden ordenen in de downloadmap

Wanneer we elk type bestand downloaden, gaat het standaard naar de downloadmap. Wanneer we een bestand moeten vinden, kan dit problemen veroorzaken, omdat er veel soorten bestanden in de downloadmap zijn gemengd. Nu gaan we een pythonscript schrijven om het systeem zo te automatiseren dat verschillende soorten bestanden (bijv.g. mp3, png, xls etc) gaat in verschillende mappen. De volledige code wordt hieronder gegeven:. Deze code controleert elk bestandstype één voor één en maakt vervolgens de bijbehorende map aan. Hierna zal het bestand naar gerelateerde mappen worden verplaatst (bijv.g... mp3-bestand gaat naar de map 'Audio').

importeer os
import Shutil
datum/tijd importeren
terwijl 1:
#huidig ​​uur, minuut en seconde berekenen
vandaag = datetime.datum Tijd.vandaag()
vandaag = str(vandaag)
huidig_uur = vandaag[11:13]
huidige_minuut = vandaag[14:16]
huidige_sec = vandaag[17:19]
# ervoor zorgen dat het systeem de bestanden om 08:00 uur regelt
if current_hour == '08' en current_minute == '00' en current_sec == '00':
# veranderende map om te downloaden
os.chdir("pad_naar_Download_directory")
# alle bestandsnamen in een lijst opslaan
bestanden = os.lijstmap (os.getcwd())
voor bestandsnaam in bestanden:
# mappen negeren
zo niet os.pad.isdir(bestandsnaam):
# mp3-bestanden selecteren
als '.mp3' in bestandsnaam:
# 'Audio'-map maken als deze niet bestaat
zo niet os.pad.bestaat('Audio'):
os.mkdir('Audio')
# verplaatsen van bestand in 'Audio' directory
Shutil.move(bestandsnaam, 'Audio')
# mp4-bestanden selecteren
elif'.mp4' in bestandsnaam:
# maak een 'Video'-map aan als deze niet bestaat
zo niet os.pad.bestaat('Video'):
os.mkdir('Video')
# verplaatsen van bestand in 'Video' map
Shutil.verplaatsen(bestandsnaam, 'Video')
# pdf-bestanden selecteren
elif'.pdf' in bestandsnaam:
# maak een 'PDF'-map aan als deze niet bestaat
zo niet os.pad.bestaat('PDF'):
os.mkdir('PDF')
# verplaatsen van bestand in PDF-map
Shutil.verplaatsen(bestandsnaam, 'PDF')
# jpg- en png-bestanden selecteren
elif'.jpg' in bestandsnaam of '.png' in bestandsnaam:
# maak de map 'Afbeeldingen' aan als deze niet bestaat
zo niet os.pad.bestaat('Afbeeldingen'):
os.mkdir('Afbeeldingen')
# bewegend bestand in de map 'Afbeeldingen'
Shutil.move(bestandsnaam, 'Afbeeldingen')
# Excel-bestanden selecteren
elif'.xls' in bestandsnaam:
# 'Excel'-map maken als deze niet bestaat
zo niet os.pad.bestaat('Excel'):
os.mkdir('Excel')
# verplaatsen van bestand in 'Excel' map
Shutil.verplaatsen(bestandsnaam, 'Excel')
# selecteren '.ppt'-bestanden
elif'.ppt' in bestandsnaam:
# 'Power Point'-map maken als deze niet bestaat
zo niet os.pad.bestaat('Power Point'):
os.mkdir('Power Point')
# verplaatsen van bestand in 'Power Point' directory
Shutil.move(bestandsnaam, 'Power Point')
# selecteren '.docs-bestanden
elif'.docx' in bestandsnaam:
# maak een 'Word File'-map aan als deze niet bestaat
zo niet os.pad.bestaat('Word-bestand'):
os.mkdir('Word-bestand')
# verplaatsen van bestand in 'Word File' directory
Shutil.move(bestandsnaam, 'Word-bestand')

Allereerst zullen we de huidige tijd opslaan in verschillende variabelen, dan zullen we controleren of de tijd exact '08:00' is of niet. Het programma controleert elke dag de tijd en voert de code uit als de tijd '08:00' is, waarna de hoofdcode wordt uitgevoerd. In de hoofdcode veranderen we eerst onze directory in Download directory. Hier zullen we alle bestandsnamen opslaan in een lijst met de naam bestanden. Nu zullen we alle bestanden één voor één lezen en alleen bestanden eruit filteren. We zullen mappen negeren omdat we alleen bestanden gaan ordenen.

Nu zullen we elk bestandstype controleren of het mp3, mp4, jpg, pdf, xls, ppt en docx is of niet. Na het controleren van elk bestandstype zullen we controleren of de corresponderende map bestaat of niet exists. Als het bestand bijvoorbeeld mp3 is, controleren we of de map 'Audio' bestaat of niet. Als de corresponderende map niet bestaat, zullen we de map maken. Na het maken van de map zullen we ons bestand naar die map verplaatsen. Op deze manier kunnen alle bestanden naar hun corresponderende mappen worden verplaatst.

Deze code loopt continu en blijft controleren of de tijd '08:00' is of niet. Elke dag om '08:00' worden bestanden automatisch geordend. Deze code kan worden gepland om elke keer te worden uitgevoerd wanneer u uw systeem start met behulp van crontab. Crontab is hieronder uitgelegd:.

Maak automatisch een back-up van uw bestanden met behulp van systeemopdrachten

U hebt enkele belangrijke bestanden in een map die verband houdt met uw project en op de een of andere manier zijn sommige bestanden verwijderd. Wat wil je dan doen? In dit soort situaties is het maken van een back-up van uw bestanden belangrijk. Maar het maken van een back-up van uw bestanden is echt saai en tijdrovend. Deze taak kan automatisch worden uitgevoerd door een python-script te schrijven. Hieronder volgt de code om deze taak uit te voeren:. Deze code converteert elk bestand naar een zip-bestand en maakt vervolgens een back-upmap als deze niet bestaat. Hierna wordt het zipbestand verplaatst naar de back-upmap.

importeer os
datum/tijd importeren
terwijl 1:
# huidige tijd opslaan
vandaag = datumtijd.datum Tijd.vandaag()
vandaag = str (vandaag)
huidig_uur = vandaag[11:13]
huidige_minuut = vandaag[14:16]
huidige_sec = vandaag[17:19]
# zorg ervoor dat de code precies om '08:00' wordt uitgevoerd
if current_hour == '08' en current_minute == '00' en current_sec == '00':
# directory wijzigen naar documenten
os.chdir('pad_naar_documents_directory')
# alle bestandsnamen in een lijst opslaan
bestanden = os.lijstmap(os.getcwd())
# 'backup'-map maken als deze niet bestaat
zo niet os.pad.bestaat('back-up'):
os.mkdir('back-up')
voor bestand in bestanden:
# mappen negeren
zo niet os.pad.isdir(bestand):
# een bestandsnaam definiëren zonder spaties
originele_naam = bestand
bestand = bestand.splitsen(" ")
bestandsnaam = "".join(bestand)
# definiëren zip_filename
zip_file_name = bestandsnaam+".zip"
# controleren of het bestand al in de back-upmap bestaat of niet
zo niet os.pad.bestaat('backup/'+zip_bestandsnaam):
# bestandsnaam wijzigen zonder spaties
os.hernoemen(oorspronkelijke_naam, bestandsnaam)
# zip-bestand maken met systeemopdracht
os.system("zip "+zip_bestandsnaam+" "+bestandsnaam)
#zip-bestand verplaatsen in back-upmap met systeemopdracht
os.systeem ("mv "+zip_file_name+" back-up")
# bestandsnaam wijzigen in de oorspronkelijke naam
os.hernoemen(bestandsnaam, originele naam)

Allereerst zullen we de huidige tijd opslaan in variabelen en dan zullen we controleren of de tijd '08:00' is of niet. Als de tijd exact '08:00' is, wordt het hoofdscript uitgevoerd. In de hoofdcode gaan we allereerst naar de map waarin belangrijke bestanden aanwezig zijn. Vervolgens slaan we alle bestandsnamen op in een lijst. Nu zullen we een map 'backup' maken waarin we alle zip-bestanden zullen opslaan. Als deze map al bestaat, zullen we deze negeren. Nu zullen we elk bestand lezen en controleren of dit bestanden zijn of niet. Directory's worden genegeerd en bestanden worden in overweging genomen.

Om een ​​zip-bestand van een bestand te maken met behulp van de systeemopdracht, zullen we eerst dit bestand hernoemen zonder spaties, aangezien een bestandsnaam met spaties als een ander bestand op elke spatie wordt beschouwd, wanneer we een systeemopdracht tegenkomen met behulp van python-script. De naam van het bestand wordt opgeslagen in een variabele 'original_filename' en het bestand wordt hernoemd zonder spaties. Nu zullen we de zip-bestandsnaam hetzelfde definiëren als de naam van het bestand met de extensie '.zip'.

Hierna zullen we het systeemcommando 'zip' gebruiken om dit bestand te zippen en dan zullen we dit zipbestand naar de map 'backup' verplaatsen met het systeemcommando 'mv'. Dan zullen we het bestand opnieuw hernoemen met de oorspronkelijke naam met spaties erin. Deze code wordt op het systeem gepland om elke keer automatisch te worden uitgevoerd wanneer u uw systeem start met crontab.

Automatiseer het uitvoeren van een script met Crontab

We hebben de bovenstaande automatiseringsscripts geschreven. Nu willen we deze scripts automatisch uitvoeren wanneer ons systeem opnieuw opstart. Om dit te doen, voegen we ons script toe in crontab. Voer de volgende stappen uit om een ​​taak in crontab toe te voegen:

Typ eerst de volgende opdracht om het crontab-bestand te bewerken:

ubuntu@ubuntu:~$ crontab -e

-e vlag betekent open crontab in bewerkingsmodus. Nadat we het crontab-bestand nu hebben geopend, zullen we onze taak in dit bestand toevoegen met de volgende opdracht aan het einde van het bestand:

@reboot python /pad/naar/python/script

Hierdoor wordt het Python-script automatisch uitgevoerd telkens wanneer u uw systeem opstart.

Conclusie

In dit artikel is het belang van automatisering in het praktische leven uitgelegd. Door dit artikel te lezen, krijgt u een idee hoe u uw eenvoudige taken die u elke dag doet, kunt automatiseren. Je moet zeker zoeken naar meer python-bibliotheken en -functies voor betere en gemakkelijke automatisering.

Beste opdrachtregelspellen voor Linux
De opdrachtregel is niet alleen je grootste bondgenoot bij het gebruik van Linux, hij kan ook de bron van entertainment zijn omdat je hem kunt gebruik...
Beste gamepad-toewijzingsapps voor Linux
Als je graag games op Linux speelt met een gamepad in plaats van een typisch toetsenbord- en muisinvoersysteem, zijn er enkele handige apps voor jou. ...
Handige hulpmiddelen voor Linux-gamers
Als je graag games op Linux speelt, is de kans groot dat je apps en hulpprogramma's zoals Wine, Lutris en OBS Studio hebt gebruikt om de game-ervaring...