Manipulation de Fichiers

Manipulation de Fichiers

File Open(), Write(), Read()

# Ecriture dans un fichier  
f=open('file.txt','w')
f.write('bonjour')
f.close()
# Lecture du fichier
f=open('file.txt','r')
print(f.read())
bonjour
# Autre possibilité :     
with open('file.txt','w') as f:
    f.write("calcul du cube \n")
    for i in range(10):
        f.write("{}^3={}\n".format(i,i**3))

with open('file.txt','r') as f:
    print(f.read())
calcul du cube 
0^3=0
1^3=1
2^3=8
3^3=27
4^3=64
5^3=125
6^3=216
7^3=343
8^3=512
9^3=729
# Autre possibilité, avec fonction print : 
with open('file.txt','w') as f:
    print("calcul du cube", file = f) # le '\n' est déjà là
    for i in range(10):
        print("{}^3={}".format(i,i**3), file = f)

with open('file.txt','r') as f:
    print(f.read())
calcul du cube 
0^3=0
1^3=1
2^3=8
3^3=27
4^3=64
5^3=125
6^3=216
7^3=343
8^3=512
9^3=729

Récupération du contenu d’un fichier dans une liste

# Récupération du contenu d'un fichier dans une liste  

with open('file.txt','r') as f:
    liste = f.readlines()

liste
['calcul du cube\n',
 '0^3=0\n',
 '1^3=1\n',
 '2^3=8\n',
 '3^3=27\n',
 '4^3=64\n',
 '5^3=125\n',
 '6^3=216\n',
 '7^3=343\n',
 '8^3=512\n',
 '9^3=729\n']
with open('file.txt','r') as f:
    liste = f.read().splitlines() # pour enlever \n

liste
['calcul du cube',
 '0^3=0',
 '1^3=1',
 '2^3=8',
 '3^3=27',
 '4^3=64',
 '5^3=125',
 '6^3=216',
 '7^3=343',
 '8^3=512',
 '9^3=729']
# Autre possibilité
liste = [line for line in open('file.txt','r') ]
print(liste)
liste = [line.strip() for line in open('file.txt','r') ]
print(liste)
['calcul du cube\n', '0^3=0\n', '1^3=1\n', '2^3=8\n', '3^3=27\n', '4^3=64\n', '5^3=125\n', '6^3=216\n', '7^3=343\n', '8^3=512\n', '9^3=729\n']
['calcul du cube', '0^3=0', '1^3=1', '2^3=8', '3^3=27', '4^3=64', '5^3=125', '6^3=216', '7^3=343', '8^3=512', '9^3=729']

Programmation système

import os # operating system

print(os.getcwd()) # get current working directory
/home/kerhoas/python
import glob

filenames = glob.glob("*.txt") # affiche tous les fichiers de dir
filenames
['fichier.txt', 'file.txt']