Reference

https://www.python.org/doc/

List files

import os

for dirname, dirnames, filenames in os.walk(‘.’):

for subdirname in dirnames:

print(os.path.join(dirname, subdirname))

for filename in filenames:

print(os.path.join(dirname, filename))

Advanced usage:

editing the ‘dirnames’ list will stop os.walk() from recursing into there.

if '.git' in dirnames:

don’t go into any .git directories.

dirnames.remove('.git')

!PIP

Qu’est-ce que pip ? C’est l’équivalent de gem ou npm pour Ruby et Node. Un gestionnaire de paquets.

Setup Virtual Environment

http://docs.python-guide.org/en/latest/dev/virtualenvs/#virtualenvironments-ref Pré-requis : http://docs.python-guide.org/en/latest/starting/install3/linux/#install3-linux Docs : https://virtualenv.pypa.io/en/stable/userguide/

Create a virtualenv

$ cd my_project_folder
$ virtualenv my_project # Crée un dossier my_project dans my_project_folder

Start it

source my_project/bin/activate

Stop it

deactivate

Lancer un serveur HTTP dans un dossier

python -m SimpleHTTPServer

Notes

for on peut looper dans un tableau, ok, mais aussi directement dans une chaine de caractères. Basically une str, c’est un tableau.

phrase = "salut toi"
for letter in phrase:
	print (letter)

Output

s
a
l
u
t
 
t
o
i

if {something} in {somewhere}

phrase = "salut toi"
for letter in phrase:
	if letter in "a":
		print("trouvé")
	else :
		print("pas de a")

loope dans {somewhere} et compare. La première fois, j’avais fait un truc bien plus verbeux, à base de boucle dans une boucle

Là, le output

pas de a
trouvé
pas de a
pas de a
pas de a
pas de a
pas de a
pas de a
pas de a

ftplib

dir vs nlst

connection_infos={
    'host': 'host.fr',
    'user': 'username',
    'passwd': '13245678'
}

ftp = ftplib.FTP(**connection_infos)
ftp.dir() # retourne la liste des infos. Il contient un print. Il est de type NONE
ftp.nlst() # et ça, c'est un objet de type LIST/ARRAY, qui contient également tous les éléments du dossier
# là, ça ne retourne rien. Il faut faire
print(ftp.nlst()) # pour voir le contenu