ZipReplaceData.py Заменяющая строка

#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.

Я надеюсь, что это было полезно.