Найти - Пользователи
Полная версия: Замена русского текста в нескольких файлах в директории и поддиректориях
Начало » Python для новичков » Замена русского текста в нескольких файлах в директории и поддиректориях
1 2
alexpp
Короче разобрался сам, этот форум оказался абсолютно бесполезным, как и советы тут.
На будущее - вместо такой фигни:
Во-первых, декларация кодировки сверху вообще не нужна
Тут я вообще не понял что вы хотите.
Чтобы это всё знать, надо читать документацию к функции
python.org. open()
Если планируется писать надежный код то надо использовать инструменты которые будут использовать эту информацию. Например библиотеку lxml.
Давайте либо конкретные рекомендации по скрипту (гуглом все умеют пользоваться кто добрался до этого забытого сайта), либо вообще ничего не пишите, это не сложно.
Ветка, вроде, специально для начинающих.

Для тех кто потом будет гуглить что сделал:
1й скрипт - меняем кодировку у файлов по маске:
 for file in ~/SITE/*/*.html; do 
    iconv -f WINDOWS-1251 -t UTF-8 -o "$file.new" "$file" && mv -f "$file.new" "$file"
done

2й скрипт сделал на ruby, хотя уверен, что и на питоне можно:
 original_text1 = "Адрс редакции"
replacement_text1 = "Адрес редакции"
original_text2 = "Невскй пр."
replacement_text2 = "Невский пр."
Dir.glob("/home/alex/SITE/*/*.html") do |file_name|
  text = File.read(file_name)
  replace = text.gsub!(original_text1, replacement_text1)
  replace = text.gsub!(original_text2, replacement_text2)
  File.open(file_name, "w") { |file| file.puts replace }
end
Если у вас поменяна кодировка в html файле с windows-1251 на UTF-8, не забудьте в скрипте заменить в коде html кодировку на UTF-8

 original_textX = "windows-1251"
replacement_textX = "UTF-8"

Всем удачи в ваших поисках!
py.user.next
alexpp
2й скрипт сделал на ruby, хотя уверен, что и на питоне можно:
Да тут можно и без Python, и без Ruby обойтись одним Shell'ом только. То, что ты на Ruby сделал, делается одной командой через sed в Linux.

alexpp
Короче разобрался сам, этот форум оказался абсолютно бесполезным, как и советы тут.
Направление-то тебе правильно дали. Кодировка, перекодирование файла, это всё тут изначально витало.

alexpp
Давайте либо конкретные рекомендации по скрипту
Да тут не принято говнокод доводить до конфетки. Лучше выяснить, в чём задача, и с нуля написать правильное решение.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB