Comment vérifier le contenu d'un fichier avec python, puis copier un fichier du même dossier et le déplacer vers un nouvel emplacement? J'ai Python 3.1 mais je peux tout aussi bien le porter à 2.6 merci!Comment vérifier le contenu d'un dossier en utilisant Python
2
A
Répondre
3
par exemple
import os,shutil
root="/home"
destination="/tmp"
directory = os.path.join(root,"mydir")
os.chdir(directory)
for file in os.listdir("."):
flag=""
#check contents of file ?
for line in open(file):
if "something" in line:
flag="found"
if flag=="found":
try:
# or use os.rename() on local
shutil.move(file,destination)
except Exception,e: print e
else:
print "success"
Si vous regardez le shutil doc, sous .move(), il dit
shutil.move(src, dst)¶
Recursively move a file or directory to another location.
If the destination is on the current filesystem, then simply use rename.
Otherwise, copy src (with copy2()) to the dst and then remove src.
Je suppose que vous pouvez utiliser copy2() pour passer à un autre système de fichiers.
1
+0
peut shutil.move() déplacer des fichiers sur le réseau? – Gabe
+1
Il peut déplacer des fichiers n'importe où sur le système de fichiers, y compris les lecteurs réseau montés. –
Ne donnez pas de code aux gens avec 'except Exception', ce qui est un bug. Vous ne fournissez pas de réponse raisonnable à de nombreuses exceptions pouvant être déclenchées, telles que "KeyboardInterrupt". –
Dans 2.5, Exception hérite de BaseException. Pensez-vous qu'il va attraper KeyboardInterrupt? OP a 3.1 et 2.6. – ghostdog74