Voici un exemple de code python pour écrire un fichier de données avec header à partir d’une fonction.
# -*- coding: utf-8 -*-
"""
Ecriture d'un fichier de données avec Header
"""
from __future__ import division
from scipy import *
from pylab import *
def U(x):
return exp(-0.4*x)*cos(2*pi*x) # Fonction U
x = linspace(0,10,400) # Abscisses = Colonne 1
y = U(x) # Ordonnées = Colonne 2
nomFichier = u"fichier_ecriture.txt" # Nom du fichier à éire
f = open(nomFichier, 'w') # Ecriture du fichier
f.write(u"x \t y=f(x) \n") # Première ligne = Header
Npt=len(x) # Boucle for pour ajouter les éléments au fichier
for k in range(Npt):
f.write(u"%10.3f \t" %x[k])
f.write(u"%10.3f \n" %y[k])
f.close()
On peut directement le télécharger
Voici un exemple de code python pour lire un fichier de données avec header et tracer un graphique des données correspondantes.
# -*- coding: utf-8 -*-
"""
Lecture d'un fichier de données avec Header
"""
from __future__ import division
from scipy import *
from pylab import *
f = open(u"fichier_lecture.txt", 'r') # Ouvre le fichier txt à lire
f.readline() # Saute la première ligne
x_tab = array([]) # Créations de tableaux vide (à remplir avec les données)
y_tab = array([])
for ligne in f:
mots = ligne.split() # Séparation en ligne
x = float(mots[0]) # Mise en mémoire du premier élément de la ligne en cours
y = float(mots[1]) # Mise en mémoire du second élément de la ligne en cours
x_tab = append(x, x_tab) # Premier élément de la ligne en cours ajouté dans le tableau x_tab
y_tab = append(y, y_tab) # Second élément de la ligne en cours ajouté dans le tableau y_tab
x_tab = x_tab[::-1] # Inverse les éléments lus en ordre décroissant
y_tab = y_tab[::-1] # Inverse les éléments lus en ordre décroissant
print x_tab, y_tab # Affichage des tableaux complétés avec les éléments du fichier
plot(x_tab, y_tab, 'o')
show()
On peut directement le télécharger et il faudra télécharger le fichier .txt correspondant et le placer dans le même répertoire.
Python propose 3 librairies pour obtenir des informations sur le système sur lequel est installé Python et sur Python lui-même, ce qui peut-être utile nécessaire si on développe une application multi-plateforme ou devant être compatible avec différentes versions de Python. Ces 3 librairies sont os, sys et platform.
Par exemple, pour connaître le système d’exploitation, vous pouvez faire, au choix, et suivant l’information que vous devez obtenir :
>>> from os import *
>>> uname()
'nt'
>>> from platform import *
>>> platform()
'Windows-Vista-6.0.6002-SP2'
>>> system()
'Windows'
>>> uname()
('Windows', 'PC-bureau', 'Vista', '6.0.6002', 'x86', 'x86 Family 6 Model 23 Stepping 7, GenuineIntel')
>>> from sys import *
>>> platform
'win32'
Enfin pour connaitre la version de python utilisée, on peut utiliser au choix la librarie sys ou platform.
>>> from sys import *
>>> version
'2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]'
>>> version_info
sys.version_info(major=2, minor=7, micro=2, releaselevel='final', serial=0)
>>> from platform import *
>>> python_version()
'2.7.2'
>>> python_version_tuple()
('2', '7', '2')
Pour déterminer le temps écoulé entre 2 instants, on utilise la commande time() de la librairie time. Voici un exemple de création d’un tableau 2D :
# -*- coding: utf-8 -*-
"""
Création d'un tableau 2D n,m à l'aide de 2 boucles for imbriquées : Décompte du temps
"""
from __future__ import division
from scipy import *
from pylab import *
from time import *
TempsTot1 = time() # Instant 1
n = 5000 # Nombre de lignes
m = 6000 # Nombre de colonnes
tableau = zeros((n,m)) # Création d'un tableau 2D rempli de 0
for j in range(n): # Création du tableau réel
for k in range(m):
tableau[j,k] = k*j
TempsTot2 = time() # Instant 2
TempsTot = TempsTot2 - TempsTot1
print TempsTot # Temps écoulé en seconde
print(tableau)
Pour déterminer le répertoire actif, on utilise la librairie os. La commande getcwd() permet de récupérer une chaine de caractère donnant le chemin absolu du répertoire actif (cwd = current working directory).
>>> from os import *
>>> getcwd()
'D:\\Users\\User001'
Pour changer de répertoire actif, on utilise la commande chdir().
>>> from os import *
>>> getcwd()
'D:\\Users\\User001'
>>> chdir(u"D:\\Users\\User002")
>>> getcwd()
'D:\\Users\\User002'
Remarque : Si le chemin spécifié n’existe pas, un code d’erreur apparait !
Pour créer un répertoire on utilise, la commande mkdir() de la librairie os. Attention, les accents ne sont pas pris en compte.
>>> from os import *
>>> mkdir(u"D:\\toto")
>>> from os import *
>>> chdir(u"D:\\Users\\") # Se placer dans le répertoire actif désiré
>>> remove (u"exemple.txt") # Supprimer le fichier
Pour plus de détails, nous renvoyons le lecteur à la documentation de la librairie (os). Sur Linux par exemple, c’est la commande rm qui doit être utilisée.