Difference between revisions of "Python"

From HackerNet
Jump to: navigation, search
Line 4: Line 4:
 
  python -V
 
  python -V
  
===Pydoc===
+
'''Pydoc''' <br/>
 
Läsa hjälpfiler om moduler, klasser och funktioner.
 
Läsa hjälpfiler om moduler, klasser och funktioner.
 
  pydoc <namn>
 
  pydoc <namn>
Line 10: Line 10:
 
  pydoc file
 
  pydoc file
 
  pydoc os
 
  pydoc os
 +
 +
==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>
 +
 +
===HTTP Server===
 +
Det finns flera olika webbservrar skrivna i python.
 +
sudo pip install lpthw.web
 +
import web
  
 
==Referenslista==
 
==Referenslista==
Line 18: Line 40:
  
 
Output, print från variabel
 
Output, print från variabel
  print "His name is %s and %d." % (namn, nummer)
+
  print "The name is %s and %d." % (namn, nummer)
  
 
Input
 
Input
 
  x = raw_input(">> ")
 
  x = raw_input(">> ")
 
  x = int(raw_input(">> "))
 
  x = int(raw_input(">> "))
 +
 +
Ta reda på möjliga funktioner/methods i ett library
 +
dir()
 +
dir(''library'')
  
 
Läsa fil
 
Läsa fil
Line 47: Line 73:
 
  value = funk1(20)
 
  value = funk1(20)
  
===If_then_else===
+
Avsluta, ctrl + d
 +
exit(0) # i script
 +
quit() # i cli
 +
 
 +
'''If_then_else'''
 
  print "Valj 1 eller 2"
 
  print "Valj 1 eller 2"
 
  valet = raw_input(">> ")
 
  valet = raw_input(">> ")
Line 58: Line 88:
 
     print "You die"
 
     print "You die"
  
===For-loop===
+
'''For-loop'''
 
  the_count = [1, 2, 3, 4, 5]
 
  the_count = [1, 2, 3, 4, 5]
 
  for number in the_count:
 
  for number in the_count:
 
     print "This is %d" % number
 
     print "This is %d" % number
  
Avsluta
+
'''Lista'''
exit(0) # i script
 
quit() # i cli
 
 
 
===Lista===
 
 
  lista = [1, 2, 3, 4, 5, 6, "hest" ];
 
  lista = [1, 2, 3, 4, 5, 6, "hest" ];
 
  print lista[0:2]
 
  print lista[0:2]
Line 73: Line 99:
 
Append
 
Append
  
===Dictionary===
+
'''Dictionary'''
 
  dict = {'Name': 'Sara', 'Age': 20, 'Class': 'No'};
 
  dict = {'Name': 'Sara', 'Age': 20, 'Class': 'No'};
 
  print dict['Name']
 
  print dict['Name']
Line 80: Line 106:
 
  dict['School'] = "Yes";
 
  dict['School'] = "Yes";
  
===Password===
+
'''Password''' <br/>
 
Get password, hidden
 
Get password, hidden
 
  import getpass
 
  import getpass
 
  secretx = getpass.getpass("Enter password:")
 
  secretx = getpass.getpass("Enter password:")
 
==PIP==
 
PIP är ett package management system som används för att installera software packages skrivna i Python.
 
sudo pip install <package>
 
 
===HTTP Server===
 
Det finns flera olika webbservrar skrivna i python.
 
sudo pip install lpthw.web
 
import web
 
  
 
==netaddr==
 
==netaddr==
 
netaddr är ett network address manipulation library. Man kan jobba med IP-adresser och nät.
 
netaddr är ett network address manipulation library. Man kan jobba med IP-adresser och nät.
 
  sudo pip install netaddr
 
  sudo pip install netaddr
 
+
Usage
 
  from netaddr import *
 
  from netaddr import *
 
  cidr = IPNetwork(raw_input("CIDR-notation: "))
 
  cidr = IPNetwork(raw_input("CIDR-notation: "))
Line 110: Line 127:
 
         self.id = id
 
         self.id = id
 
         self.name = name
 
         self.name = name
 
+
 
  vlan10 = VLAN(10, "Test")
 
  vlan10 = VLAN(10, "Test")
  
 
[[Category:Guider]]
 
[[Category:Guider]]

Revision as of 20:07, 26 July 2016

Python är ett programspråk som siktar på att vara funktionellt och lättläst. Det är objektorienterat och följer med de flesta linux-distar.

Installation

python -V

Pydoc
Läsa hjälpfiler om moduler, klasser och funktioner.

pydoc <namn>
pydoc open
pydoc file
pydoc os

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>

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(">> "))

Ta reda på möjliga funktioner/methods i ett library

dir()
dir(library)

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

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:")

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")