J'ai un script python parse.py, qui dans le script ouvre un fichier, disons file1, puis fait quelque chose, peut-être afficher le nombre total de caractères.
filename = 'file1'
f = open(filename, 'r')
content = f.read()
print filename, len(content)
En ce moment, j'utilise stdout pour diriger le résultat vers mon fichier de sortie - sortie
python parse.py >> output
Cependant, je ne veux pas faire ce fichier par fichier manuellement, existe-t-il un moyen de prendre en charge automatiquement chaque fichier? Comme
ls | awk '{print}' | python parse.py >> output
Alors le problème est de savoir comment pourrais-je lire le nom de fichier à partir de standardin? ou il existe déjà des fonctions intégrées pour faire les ls et ce genre de travail facilement?
Merci!
with ... as ...:
déclarations. Pourriez-vous clarifier?Permission Error: [Errno 13] Permission denied:
vous devriez essayer d'utiliser os.walk
la source
Je cherchais cette réponse:
vous pouvez également choisir '* .txt' ou d'autres extrémités de votre nom de fichier
la source
Vous pouvez en fait simplement utiliser le module os pour faire les deux:
Voici un exemple simple:
Désormais, vous avez non seulement répertorié tous les fichiers dans un dossier, mais vous les avez également triés (éventuellement) par nom de départ, type de fichier et autres. Maintenant, parcourez chaque liste et faites votre travail.
la source
la source
Le code ci-dessous lit tous les fichiers texte disponibles dans le répertoire qui contient le script que nous exécutons. Ensuite, il ouvre chaque fichier texte et stocke les mots de la ligne de texte dans une liste. Après avoir stocké les mots, nous imprimons chaque mot ligne par ligne
la source