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
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)
Emprunté à ici.
def get_all_files(directory):
for path, dirs, files in os.walk(directory):
yield path
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
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.
Je l'utilise souvent
file_name = os.path.basename(file)
Je voulais voir l'extension
file_title, file_ext = os.path.splitext(file_name)
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()
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. .. ..
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