115 votes

Python Enregistrer dans un fichier

Je voudrais enregistrer une chaîne dans un fichier avec un programme python nommé Failed.py

Voici ce que j'ai pour l'instant :

 myFile = open('today','r')

ips = {}

for line in myFile:
    parts = line.split(' ')
    if parts[1] == 'Failure':
        if parts[0] in ips:
            ips[pars[0]] += 1
        else:
            ips[parts[0]] = 0

for ip in [k for k, v in ips.iteritems() if v >=5]:
    #write to file called Failed.py

238voto

warvariuc Points 11787
file = open('Failed.py', 'w')
file.write('whatever')
file.close()

Voici une version plus pythonique, qui ferme automatiquement le fichier, même s'il y avait une exception dans le bloc encapsulé :

 with open('Failed.py', 'w') as file:
    file.write('whatever')

2voto

Vous pouvez utiliser cette fonction :

 def saveListToFile(listname, pathtosave):
    file1 = open(pathtosave,"w") 
    for i in listname:
        file1.writelines("{}\n".format(i))    
    file1.close() 

# to save:
saveListToFile(list, path)

1voto

jaime Points 2034
myFile = open('today','r')

ips = {}

for line in myFile:
    parts = line.split()
    if parts[1] == 'Failure':
        ips.setdefault(parts[0], 0)
        ips[parts[0]] += 1

of = open('failed.py', 'w')
for ip in [k for k, v in ips.iteritems() if v >=5]:
    of.write(k+'\n')

Vérifiez setdefault, cela rend le code un peu plus lisible. Ensuite, vous videz vos données avec la méthode d'écriture de l'objet fichier.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X