Редактирование содержимого файла
Базовые техники редактирования файлов
Чтение содержимого файла
## Reading entire file
with open('example.txt', 'r') as file:
content = file.read()
## Reading line by line
with open('example.txt', 'r') as file:
lines = file.readlines()
Стратегии модификации
graph TD
A[File Modification] --> B[In-Memory Editing]
A --> C[Direct File Replacement]
A --> D[Temporary File Method]
Подход к редактированию в памяти
def modify_file_content(filename, old_text, new_text):
## Read the entire file
with open(filename, 'r') as file:
content = file.read()
## Replace content
modified_content = content.replace(old_text, new_text)
## Write back to file
with open(filename, 'w') as file:
file.write(modified_content)
Продвинутые техники редактирования
Методы замены текста
Метод |
Описание |
Сценарий использования |
replace() |
Простая замена текста |
Маленькие файлы |
regex |
Сложное сопоставление шаблонов |
Продвинутые замены |
fileinput |
Редактирование построчно |
Большие файлы |
Редактирование с использованием регулярных выражений
import re
def regex_file_edit(filename, pattern, replacement):
with open(filename, 'r') as file:
content = file.read()
modified_content = re.sub(pattern, replacement, content)
with open(filename, 'w') as file:
file.write(modified_content)
## Example usage
regex_file_edit('config.txt', r'version=\d+', 'version=2.0')
Безопасные практики модификации файлов
Создание резервной копии перед редактированием
import shutil
def safe_file_modify(source_file):
## Create backup
backup_file = source_file + '.bak'
shutil.copy2(source_file, backup_file)
## Perform modifications
## ... modification logic here ...
Обработка ошибок при редактировании файлов
def robust_file_edit(filename):
try:
with open(filename, 'r+') as file:
## Editing operations
content = file.read()
## Modification logic
except PermissionError:
print(f"Cannot modify {filename}. Check permissions.")
except FileNotFoundError:
print(f"File {filename} not found.")
Освоив эти техники, разработчики LabEx могут эффективно и точно манипулировать содержимым файлов.