Напишіть програму, яка копіює вміст одного файлу в другий файл
Ответы
Ответ: Ось приклад програми на python.
def copy_file(source_file, destination_file):
try:
with open(source_file, 'r') as source:
with open(destination_file, 'w') as destination:
# Читаємо вміст з вихідного файлу та записуємо його в цільовий файл
destination.write(source.read())
print("Файл успішно скопійовано!")
except FileNotFoundError:
print("Не вдалося знайти або відкрити файл.")
except Exception as e:
print("Сталася помилка під час копіювання файлу:", str(e))
# Приклад виклику функції для копіювання файлу
source_file = 'source.txt' # Заміни на шлях до вашого вихідного файлу
destination_file = 'destination.txt' # Заміни на шлях до цільового файлу
copy_file(source_file, destination_file)
Объяснение:
функція copy_file отримує шлях до вихідного файлу source_file та шлях до цільового файлу destination_file. Вона відкриває вихідний файл для читання 'r' та цільовий файл для запису 'w', читає вміст з вихідного файлу та записує його в цільовий файл.
Код(Python):
def copy_file(source_path, destination_path):
try:
with open(source_path, 'rb') as source_file:
with open(destination_path, 'wb') as destination_file:
destination_file.write(source_file.read())
print(f"Файл {source_path} успішно скопійовано в {destination_path}")
except FileNotFoundError:
print("Вказаний файл не знайдений.")
except Exception as e:
print(f"Під час копіювання сталася помилка: {str(e)}")
# Приклад використання
source_file_path = 'шлях_до_вихідного_файлу.txt'
destination_file_path = 'шлях_до_цільового_файлу.txt'
copy_file(source_file_path, destination_file_path)
Дополнения к данному коду:
Замініть шлях_до_вихідного_файлу.txt та шлях_до_цільового_файлу.txt відповідно до шляху та імені файлів, які ви хочете скопіювати. Файл буде відкритий у режимі бінарного читання ('rb') та бінарного запису ('wb'), оскільки ми копіюємо бінарні дані.
Будьте обережні при використанні цього коду, особливо з великими файлами, оскільки це може призвести до великої кількості використаної пам'яті, якщо спробуєте скопіювати великий файл за один раз. В реальному проекті ви, можливо, захочете використовувати буферизоване читання/запис або робити це блоками.