import os
 
for i in range(300):
	planNum = str(i)
	if len(planNum) == 1:
		planNum = "00"+planNum
	if len(planNum) == 2:
		planNum = "0"+planNum
	folderName = "P"+planNum
	os.makedirs(folderName)

/EDIT 2009 08 10

Comme l'a dit Laurent dans un autre billet, il existe une fonction Python qui bourre les zéros automatiquement:

print str(50).zfill(4)
>> "0050"

Le code serait donc:

import os
 
for i in range(300):
	planNum = str(i).zfill(3)
	folderName = "P"+planNum
	os.makedirs(folderName)

/FIN EDIT

Explication:

import os

On importe le module "os" qui permet de d'utiliser des fonctions propre à l'OS (Dans notre cas, pour demander a Windows de créer un répertoire.)

for i in range(300):

i est une variable et range(300) est une liste de type: 0, 1, 2, 3, ... 299. Donc, "pour" i = chaque élément de la liste:

planNum = str(i)

planNum sera égale la variable i mais de type string. En effet, i est de type int (ou float) mais pour nommer un dossier, il nous faut une chaine de caractère qui est donc un type string. La commande str(maValeur) renvoir maValeur en type string. Exemple: str(12) = "12"

if len(planNum) == 1:

Ceci est pour le padding (ou bourrage de zéro): len(maVariableString) renvoi le nombre de caractère dans le mot maVariableString. Si la longueur de la liste de caractère de ma variable planNum est strictement égal à 1:

planNum = "00"+planNum

On ajoute deux zéros devant la valeur. Ainsi, si planNum = "1" -> planNum = "00"+planNum -> "001"

if len(planNum) == 2:
	planNum = "0"+planNum

Idem mais si planNum contient deux caractère, on ajoute un seul zéro (par exemple: "12" -> "0"+"12" -> "012")

folderName = "P"+planNum

On créé une variable qui contiendra le nom du folder: folderName -> "P"+planNum -> "P"+"001" ->"P001", "P002", "P003", ... "P299"

os.makedirs(folderName)

Utilise la fonction "makedirs" du module "os" importé plus haut pour créer le répertoire "folderName".

Sauvegardez le tout dans un fichier texte portant l'extension Python (.py) et lancez le.

300foldersEmpty

300foldersFull

Tadaaa!

Bon, c'est pas du gros script mais c'est concis et ça offre des possibilités intéressantes. :)