Python Сохранить в файл

Я хотел бы сохранить строку в файл с программой на языке Python Failed.py

Вот что у меня так далеко:

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

5 ответов

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

Вот более питоническая версия, которая автоматически закрывает файл, даже если в обернутом блоке было исключение:

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

Вам нужно снова открыть файл, используя open(), но на этот раз мимоходом 'w' чтобы указать, что вы хотите записать в файл. Я также рекомендовал бы использовать with чтобы убедиться, что файл будет закрыт, когда вы закончите писать в него.

with open('Failed.txt', 'w') as f:
    for ip in [k for k, v in ips.iteritems() if v >=5]:
        f.write(ip)

Естественно, вы можете захотеть включить перевод строки или другое форматирование в ваш вывод, но основы такие же, как указано выше.

Та же проблема с закрытием вашего файла относится к чтению кода. Это должно выглядеть так:

ips = {}
with open('today','r') as myFile:
    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

Вы можете использовать эту функцию:

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

# to save:
saveListToFile(list, path)

Чтобы записать в файл на Python, нам нужно открыть его в записи, добавить aили эксклюзивное творение xрежим.

Нам нужно быть осторожными с wрежиме, так как он будет перезаписан в файл, если он уже существует. Благодаря этому все предыдущие данные стираются.

Запись строки или последовательности байтов (для бинарных файлов) осуществляется с помощью метода write(). Этот метод возвращает количество символов, записанных в файл.

      with open('Failed.py','w',encoding = 'utf-8') as f:
   f.write("Write what you want to write in\n")
   f.write("this file\n\n")

Эта программа создаст новый файл с именем Failed.pyв текущем каталоге, если он не существует. Если он существует, он перезаписывается.

Мы должны сами включать символы новой строки, чтобы различать разные строки.

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')

Проверьте setdefault, это делает код немного более разборчивым. Затем вы сбрасываете свои данные с помощью метода записи объекта файла.

Другие вопросы по тегам