Mémorandum Python 2

J'ai fait un outil rapidement avec python, donc un mémorandum. La source est celle de l'entreprise, alors rappelez-vous les points importants

Traitement récursif d'annuaire

Fonction pour obtenir tous les fichiers

Ici a été très utile.

def get_all_files(directory):
    for path, dirs, files in os.walk(directory):
        for file in files:
            yield os.path.join(path, file)

Fonction pour obtenir tous les répertoires

Emprunté à ici.

def get_all_files(directory):
    for path, dirs, files in os.walk(directory):
        yield path

Fonction pour obtenir tous les répertoires et fichiers

Emprunté à ici.

def get_all_files(directory):
    for path, dirs, files in os.walk(directory):
        yield path
        for file in files:
            yield os.path.join(path, file)

Quand utiliser

for file in get_all_files('/tmp/test'):
    print file

À propos du rendement

Ici a été très utile. Pour le dire simplement, il semble que le contenu du processus puisse être laissé sans retour. Ainsi, vous pouvez le tourner en boucle ou l'obtenir avec next (). En d'autres termes

def test():
	yield 'a'
	yield 'b'
	yield 'c'

for i in test():
	print i

Quand tu cours

a
b
c

Est sortie.

Traitement des fichiers

Obtenez le nom du fichier à partir du chemin complet

Je l'utilise souvent

file_name = os.path.basename(file)

Diviser l'extension et d'autres à partir du chemin complet

Je voulais voir l'extension

file_title, file_ext = os.path.splitext(file_name)

Ouvrez le fichier en UTF-8 et lisez toutes les lignes

Vous devez faire attention à l'unicode lors de l'ouverture avec UTF-8

f = codecs.open(file, 'r', 'utf-8')
list = f.readlines()
f.close()

Ouvrez le fichier en UTF-8 et écrivez

Si le fichier n'existe pas, créez-le. Si la chaîne est unicode, elle peut être écrite en japonais. Lors de l'impression, utilisez print (string.encode ('utf-8')). Si vous n'ajoutez pas «\ n», la ligne ne sera pas interrompue lorsque vous l'ouvrirez avec un saut de ligne CRLF.

result = codecs.open(outfile, 'a', 'utf-8')
result.write(format("string --> %s\n" % string))
result.close()

Lors de la comparaison des fichiers lus, vous devez unifier le code de caractère J'étais assez accro. .. ..

Comparaison de chaînes

Si une chaîne est incluse

line = "1abcdefg23456789"
target_string = "1a"

if (target_string in line):

Au fur et à mesure que le nombre de processus augmentait, j'avais parfois l'impression que c'était Python. Python est bon pour une écriture rapide. Je l'aime.

Recommended Posts

Mémorandum Python
Mémorandum Python 2
Mémorandum Python
mémorandum python
mémorandum python
Mémorandum Python
mémorandum python
Mémorandum Python
Mémorandum de base Python
Mémorandum de Python Pathlib
Mémorandum Python (algorithme)
Mémorandum Python [liens]
mémorandum python (mise à jour séquentielle)
Python
Mémorandum Python (signet personnel)
Mémorandum de base Python partie 2
Mémorandum @ Python OR Séminaire
mémorandum python super basique
Mémorandum Cisco _ configuration d'entrée avec Python
Mémorandum ABC [ABC163 C --managementr] (Python)
fonction de mémorandum python pour débutant
Mémorandum @ Python OR Séminaire: matplotlib
[Python] Mémorandum sur l'évitement des erreurs SQLAlchemy
Mémorandum sur la corrélation [Python]
Mémorandum @ Python OR Séminaire: Pulp
Un mémorandum sur le simulacre de Python
Mémorandum @ Python OU Séminaire: Pandas
[python] Mémorandum de génération aléatoire
Mémorandum @ Python OR Seminar: scikit-learn
mémorandum d'exécution parallèle / asynchrone python
Mémorandum Matplotlib
mémorandum Linux
Les bases de Python ⑤
Résumé Python
Python intégré
Mémorandum ABC [ABC159 C - Volume maximum] (Python)
mémorandum jinja2
Notation d'inclusion Python
Technique Python
Étudier Python
Compte à rebours Python 2.7
Mémorandum Django
Python FlowFishMaster
Service Python
astuces python
fonction python ①
Les bases de Python