2016-06-14 4 views
0

Я пытаюсь написать питон скрипт, который будет искать и заменить определенную строку в текстовом файлеПоиск и замена конкретной строки, используя Python

В качестве примера foo.txt такова:

[section1] 
option1=xyz 
option2=abc 

[section2] 
option1=aaa 
option2=bbb 

Моя цель состоит в том, чтобы заменить только значение оПЦИЯ1 и option2 под section2, ничего не меняя в section1 как нижеперечисленные:

[section1] 
option1=xyz 
option2=abc 

[section2] 
option1=xxx 
option2=zzz 

Я попытался pysed и многие другие методы, не имеющая ди се. Любая помощь от Python Guru?

+0

вам не нужно питона гуру для этого вопроса. вам просто нужно прочитать документ о том, как читать файлы. есть необходимые методы для вашего вопроса. просто найдите разделX и раздел (X + 1) и прочитайте и удалите параметр 1 и вариант2, после чего замените эти параметры. Я легко нашел учебник, просто научись пользоваться Google и не бойтесь читать. вот ссылка: http://www.pythonforbeginners.com/files/reading-and-writing-files-in-python –

+0

Я бы использовал регулярное выражение, попробовал посмотреть на документы python для 're' – rayray84

ответ

1

Вы можете найти его проще использовать ConfigParser вместо поиска и замены:

#!/usr/bin/python                
import ConfigParser                
import os                  

config = ConfigParser.ConfigParser() 
config.readfp(open('foo.txt')) 
config.set("section2", "option1", "xxx1") 
config.set("section2", "option2", "yyy1") 
# It's always better to write to a temporary file 
# and then atomically replace the original: 
config.write(open('foo.txt.new', "w")) 
os.rename('foo.txt.new', 'foo.txt') 
+0

Удивительный! Работал так, как ожидалось. благодаря – G0UD4

Смежные вопросы