Задать вопрос
@AlessandrIT

Как скопировать файл в файл силами Python?

Работаю над переделкой под Python старого трюка по запрятыванию файла в файл.
В cmd это выглядит так: "copy 1.jpg + 2.rar 3.jpg"
Однако в питоне не получается это реализовать.Пробовал соединять байты одного файла с байтами другого но получается лажа - картинка не открывается.

Кроме того, не могу найти реализацию этой команды в cmd.

Подскажите, какие есть варианты кроме прямого обращения в cmd из скрипта?
  • Вопрос задан
  • 191 просмотр
Подписаться 2 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Профессия Python-разработчик + ИИ
    10 месяцев
    Далее
Решения вопроса 2
tatiana6666
@tatiana6666
Очень коротко
Не совсем ясна конечная цель. Если вы хотите, чтобы в конце одного файла появился другой файл, то в Python нужно сделать так:
1. Прочитать файл 1, 2; (rb)
2. Посчитать длину файла 1: (_lenght_)
3. Записать файл 1 в файл 2 по смещению длины первого. (wb)

если надо вызвать из cmd прогу, то не забывайте python.exe proga.py. Или добавляйте python в переменные среды (Windows). В Linux по умолчанию работает.
Ответ написан
@AlessandrIT Автор вопроса
Благодарю за помощь Сергея Борисова и rPman с параллельной ветки форума за подсказки.

Для тех кто вздумает использовать мой опыт предоставляю код:
try: 
  namefile=input("File-Cover: ") 
  size = os.path.getsize(namefile)
  print(size)
  with open(namefile, 'rb') as file1: 
    read1=file1.read()
except FileNotFoundError: 
  print("[x] File: '"+str(namefile)+"' is not defined!")
  raise SystemExit
try: 
  zipfile=input("Zip-File: ")
  with open(zipfile, 'rb') as file2: 
    read2=file2.read()
except FileNotFoundError: 
  print("[x] File: '"+str(zipfile)+"' is not defined!")
  raise SystemExit 
namefile=input("File-Result: ") 
with open(namefile, 'wb') as file3: 
  file3.write(read1)
  file3.write(read2)
  print("[+] File: "+str(namefile)+" successfully overwritten!")
  file3.close()
with open('OUT.rar', 'wb') as file4:
  file3 = open(namefile, 'rb')
  file3.read(size)
  file4.write(file3.read())
  file4.close()


Учтите что получение size надо делать заранее и сохранять в отдельное место - это смещение для дальнейшего чтения

Прошу извинить за говнокод, здесь главное методы получения результата
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Краснодар
от 220 000 до 300 000 ₽
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽