Académique Documents
Professionnel Documents
Culture Documents
de ladministration systme
aux applications graphiques 3D
Fernando Nio IRD/Legos/OMP
Les langages ...
float **A;
int M=30, N=20;
import numpy
A=calloc(M,sizeof(float *));
A=numpy.ones(M,N)
for (int i=0; i < M; i++) {
A[i] = calloc(N,sizeof(float));
for (int j=0; i < N; j++)
A[i][j] = 1;
}
?
Python et les compromis
Tuples
Ce sont des squences qui ont des lments htrognes
ils ne peuvent pas tre modifis
donc, copie si modification ncessaire
In [20]: tuple=('un',1,'deux',2)
In [21]: tuple[2]='3'
---------------------------------
exceptions.TypeError
Traceback (most recent call last)
Python les listes
liste=[] # vide
liste = range(0,100) # gnre 0, 1, 2, 3, ... 99
Oprations interessantes:
liste.append(element)
liste.extend(liste2)
liste.insert(position,element)
liste.remove(element)
liste.pop(position)
liste.index(element)
liste.count(element)
liste.sort()
Python les dictionnaires
Pour le parcourir
In [25]: dict.keys()
Out[25]: ['a', 'c', 'b']
In [26]: dict.values()
Out[26]: [1, None, 2]
In [27]: dict['b']
Out[27]: 2
Python objet
Encapsulation
Structure de donnes va ensemble avec ses procdures de
traitement
liste.append(element)
Hritage
Eviter la duplication de code
fichier
fichierZip
fichierTexte
Surcharge
Un mme nom pour diffrentes fonctions (distingues par
contexte - ou signature)
mafonction(a,b,c) / mafonction(a)
a nexiste pas en Python ! Un seul nom admis !
Morceaux choisis
Administration Systme
Distributions linux
Python is pervasive in Fedora. Everything from yum to system-
config-* to anaconda to pungi is written in Python.
http://fedoraproject.org/wiki/Features/Python_2.6
Analyse forensique
Python Volatility (https://www.volatilesystems.com/default/volatility)
analyse des dumps mmoire pour obtenir des informations sur:
Image date and time / Running processes/ Open network sockets / Open network connections / DLLs loaded for each
process / Open files for each process / Open registry handles for each process / A process' addressable memoryOS
kernel modules / Mapping physical offsets to virtual addresses (strings to process) / Virtual Address Descriptor
information / Scanning examples: processes, threads, sockets, connections,modules / Extract executables from memory
samples / Transparently supports a variety of sample formats (ie, Crash dump, Hibernation, DD) / Automated conversion
between formats
Administration Systme le shell
except:
# gestion de lerreur
#initialize counters
erroruser = []
errorpass = []
try:
#check each user and password for validity
for entry in passwd_db:
username = entry[0]
password = entry [1]
if len(username) < 6:
erroruser.append(username)
if len(password) < 8:
errorpass.append(username)
import SimpleHTTPServer
import SocketServer
PORT = 8000
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
selfref_list = [1, 2, 3]
selfref_list.append(selfref_list)
data2 = pickle.load(pkl_file)
pprint.pprint(data2)
pkl_file.close()
Python et bases de donnes
PostgreSQL, ....
try:
self.conn = psycopg2.connect(dsn)
self.conn.set_isolation_level(ISOLATION_LEVEL_READ_COMMITTED)
self.cur = self.conn.cursor()
except:
print "Unable to connect to database with dsn %s" % dsn
raise
#...