Python
Python är ett objektorienterat programspråk som siktar på att vara funktionellt och lättläst.
Installation
Python följer med de flesta linux-distar.
python -V
Pydoc
Läsa hjälpfiler om moduler, klasser och funktioner.
pydoc <namn> pydoc open pydoc file pydoc os
Manuellt ta reda på möjliga funktioner/methods i ett library.
dir() dir(library)
Virtualenv
Virtualenv är ett verktyg för att skapa isolerade Python environments. Det skapar ett directory som innehåller alla nödvändiga executables för att köra Python-projektet. Man kan sedan installera python-paket oberoende av övriga system. Virtualenvwrapper tillhandahåller ett gäng verktyg för att enklare jobba med virtualenv.
Setup
sudo pip install virtualenvwrapper echo '. /usr/local/bin/virtualenvwrapper.sh' >> .bashrc && source .bashrc
Jobba med virtualenv
mkvirtualenv test deactivate lsvirtualenv workon test
PIP
PIP är ett package management system som används för att installera software packages skrivna i Python.
sudo pip install <package>
Exempel HTTP Server
Det finns flera olika webbservrar skrivna i python.
sudo pip install lpthw.web import web
Referenslista
Här följer en lista på hur man gör diverse vanliga saker för den ovane. Detta utgår från python 2.7.
Variabel
nummer = 102
Output, print från variabel
print "The name is %s and %d." % (namn, nummer)
Input
x = raw_input(">> ") x = int(raw_input(">> "))
Läsa fil
filnamn = raw_input(">> ") fil = open(filnamn) print fil.read()
Skriva till fil
fil = open(filename, 'w') line1 = raw_input("line 1: ") fil.write(line1) fil.close()
Definiera funktion och kalla på den.
def funk1(): print "Detta ar en funktion" funk1()
Return value
def funk1(x): return x + 4 value = funk1(20)
Avsluta, ctrl + d
exit(0) # i script quit() # i cli
If_then_else
print "Valj 1 eller 2" valet = raw_input(">> ") if valet == "1": print "You is 1" elif valet == "2": print "You is 2" else: print "You die"
For-loop
the_count = [1, 2, 3, 4, 5] for number in the_count: print "This is %d" % number
Lista
lista = [1, 2, 3, 4, 5, 6, "hest" ]; print lista[0:2] lista[2] = 20;
Append
Dictionary
dict = {'Name': 'Sara', 'Age': 20, 'Class': 'No'}; print dict['Name'] dict['Age'] = 21;
Add new entry
dict['School'] = "Yes";
Password
Get password, hidden
import getpass secretx = getpass.getpass("Enter password:")
Grundläggande sanitetscheckar
pip install pep8 pylint pyflakes pep8 the_script.py pylint the_script.py pyflakes the_script.py
netaddr
netaddr är ett network address manipulation library. Man kan jobba med IP-adresser och nät.
sudo pip install netaddr
Usage
from netaddr import * cidr = IPNetwork(raw_input("CIDR-notation: ")) firstip = cidr[1] netmask = cidr.netmask
OOP
Python stödjer Object Oriented Programming vilket innebär att man kan skapa en template som man kan skapa objekt utifrån. Mallen för objekten finns i klassen och sedan skapas objektet utifrån den med olika properties.
class VLAN: def __init__(self, id, name): self.id = id self.name = name vlan10 = VLAN(10, "Test")