#python #zip
#python #zip
Вопрос:
Как бы вы заменили строку вместо замены всего содержимого hello.txt ?
Возможно ли это?
Для этого необходимо {
FindString(‘Привет’);
ReplaceString(‘Привет’, ‘До свидания’);
}
# файл: ZipReplaceData.py
import chilkat
# Open a zip, locate a file contained within it, replace the
# contents of the file, and save the zip.
zip = chilkat.CkZip()
zip.UnlockComponent("anything for 30-day trial")
success = zip.OpenZip("exampleData.zip")
if success:
# The zip in this example contains these files and directories:
# exampleData
# exampleDatahamlet.xml
# exampleData123
# exampleDataaaa
# exampleData123hello.txt
# exampleDataaaabanner.gif
# exampleDataaaadude.gif
# exampleDataaaaxyz
# Forward and backward slashes are equivalent and either can be used..
zipEntry = zip.FirstMatchingEntry("*/hello.txt")
if (zipEntry != None):
# Replace the contents of hello.txt with something else.
newContent = chilkat.CkString()
newContent.append("Goodbye!")
zipEntry.ReplaceData(newContent)
# Save the Zip with the new content.
zip.WriteZipAndClose()
else:
print "Failed to find hello.txt!n"
else:
# Failed to open the .zip archive.
zip.SaveLastError("openZipError.txt")
Комментарии:
1. какой язык вы используете? похоже, вы добавили теги для половины существующих языков … не могли бы вы, пожалуйста, просто придерживаться того, который вам действительно нужен, и удалить остальные? 🙂
Ответ №1:
Вы можете использовать метод string.replace() для этой работы.
Пример кода: следующий фрагмент кода заменит все вхождения Hello
with Bye
.
myString = 'Hello there! hello again.'
print myString.replace('Hello', 'bye')
Вывод: bye there! hello again.
PS: Приведенный выше код заменит только Hello
слово, в котором H
заглавная буква. Если вы хотите заменить независимо от прописных / строчных букв, вы можете сначала преобразовать все буквы в верхний или нижний регистр, а затем использовать replace()
.
Пример кода: этот код заменит все вхождения hello
word на Bye
.
myString = 'Hello there! hello again.'
myString = myString.lower()# Convert to lower case
print myString.replace('hello', 'bye')
Вывод: bye there! bye again.
Я надеюсь, что это было полезно.