Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16

Копировать файл, если ошибка, создать путь и копировать файл

01.10.2019, 17:26. Показов 2568. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть код

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def copy_file(target_file, osdir):
    """ Копируем файл 
     - если тру возвращаем Тру
    """
    print('DEF COPY_FILE')
    print('DEF COPY_FILE target_file', target_file)
    print('DEF COPY_FILE osdir', osdir)
    time.sleep(10)
 
    while True:
        try:
            shutil.copy(target_file, osdir)
        except OSError:
            print('COPY ERROR')
            try:
                os.makedirs(osdir)
            except OSError:
                print('ошибка создания папки')
                break
        else:
            print('while oserror')
            break
он на вход получает
target_file /home//files/000/u1/6/a/7f2d0cb0.jpg
osdir /home/files2/000/u1/6/a

нужно файл скопировать в папку
но если путь osdir не создан
предварительно - создать его

Добавлено через 14 секунд
что-то я в дебри залез =)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.10.2019, 17:26
Ответы с готовыми решениями:

Создать файл с текстом. Взять слова длиной n, копировать их в другой файл по сортировать по алфавиту
Добрый день помогите пожалуйста написать программу которая будет копировать слова n длины в другой файл и сортировать их там по алфавиту....

Не копировать файл если размер не соответствует!
Здравствуйте! Пытаюсь сделать копирование архива под android с помочью busybox и dd, других инструментов не предусмотрено! dd все время...

Прога должна копировать строку в другой файл,если в ней есть,введенный ранее символ,вылезает ошибка Error in Statement,исправьте пожалуйста и почему?
var f1,f2:text; s,copy,x:string; i:Integer; begin writeln('vvesti simvol',x); Assign(f1,'finish.txt'); Reset(f1); ...

5
261 / 111 / 53
Регистрация: 22.01.2017
Сообщений: 448
01.10.2019, 17:32
Python
1
2
if not os.path.isdir(osdir):
    os.mkdir(osdir)
1
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
01.10.2019, 17:57  [ТС]
n1b1ru, получилось, но есть небольшое НО

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def copy_file(target_file, osdir):
    """ Копируем файл 
     - если тру возвращаем Тру
    """
    print('DEF COPY_FILE')
    print('DEF COPY_FILE target_file', target_file)
    print('DEF COPY_FILE osdir', osdir)
    time.sleep(10)
 
    if not os.path.isdir(osdir):
        print('Пробуем создать OSDIR', osdir)
        time.sleep(10)
        os.mkdir(osdir)
 
    try:
        shutil.copy(target_file, osdir)
        return True
    except OSError:
        print('ошибка копирования файла')
        time.sleep(10)
        return False
некоторые osdir имеют вид
/home/files2/000/u1/6/a где а в конце, это папка

а некоторые подаваемые osdir имеют слеш на конце
/home/files2/uploads/images/big/

последние создаются успешно
первые - вылетает ошибка


builtins.FileNotFoundError: [Errno 2] No such file or directory:
0
102 / 75 / 38
Регистрация: 08.11.2017
Сообщений: 272
01.10.2019, 18:17
IRIP, ну добавьте слэш в конце? неужели так сложно? на каждый чих создаете тему на форуме.
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
01.10.2019, 19:03  [ТС]
вот так, пока работает


Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
def copy_file(target_file, osdir):
    """ Копируем файл 
     - если тру возвращаем Тру
    """
    print('DEF COPY_FILE')
    print('DEF COPY_FILE target_file', target_file)
    print('DEF COPY_FILE osdir', osdir)
 
    if not os.path.isdir(osdir):
        print('Пробуем создать OSDIR', osdir)
        time.sleep(1)
        if str(osdir[-1]) != '/':
            osdir = osdir + '/'
            print(osdir)
            time.sleep(10)
            os.makedirs(osdir)
 
    try:
        shutil.copy(target_file, osdir)
        return True
    except OSError:
        print('ошибка копирования файла')
        time.sleep(10)
        return False
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
05.10.2019, 12:02  [ТС]
Странное поведение функции

периодически выдает ошибку
builtins.PermissionError: [Errno 13] Permission denied: '/upload'

причем папка каждый раз разная бывает (произвольно)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.10.2019, 12:02
Помогаю со студенческими работами здесь

Ошибка при попытке копировать файл
При использовании функции rename() выводится ошибка: Operation not permitted in При этом файл успешно копируется. Все возможные...

Создать батник, который будет копировать файл в созданный каталог
Ребят, нужно создать батник, который будет копировать файл в созданный вами каталог. В зависимости от того успешно был скопирован файл или...

XE7 как создать папку и копировать файл в папке system32 на windows 10 pro
всем драсти у меня появился проблема как создать папку и копировать файл в папке system32? вот не давно переехал на windows 10 pro че то не...

Нужно создать php файл который будет копировать файлы с одного домена на второй
Помогите создать php файл который будет копировать файлы с одного домена на второй. Постоянно их перезаписывая, этот php буду запускать...

Установка Windows 7 - при копировании файлов выводится ошибка, что не удается копировать файл
у меня такой вопрос!!!почему когда я устанавливаю windows 7 при копировании файлов выводится ошибка что не удается копировать файл и что он...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru