Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 28, 2012 11:36:18

RDV1984
Зарегистрирован: 2012-12-28
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

скрипт копирование файлов

Решил попробовать себя в Python.
Начал с простенького скрипта, который копирует файлы mp3 из одного каталога в другой.
Вот собственно скрипт:

#!/usr/bin/env python
# -*- coding: utf8 -*-
import glob, shutil, os
names=glob.glob('/home/dm/test/*.mp3')
for name in names:
    shutil.move(name, "/mnt/d/test2/")

После выполнения выскакивает вот такая ошибка, хотя один файл все таки копируется.
Traceback (most recent call last):
File “move_mp3.py”, line 9, in <module>
shutil.move(name, “/mnt/d/test2/”)
File “/usr/lib/python2.7/shutil.py”, line 299, in move
copy2(src, real_dst)
File “/usr/lib/python2.7/shutil.py”, line 129, in copy2
copystat(src, dst)
File “/usr/lib/python2.7/shutil.py”, line 98, in copystat
os.utime(dst, (st.st_atime, st.st_mtime))
OSError: Operation not permitted: ‘/mnt/d/test2/2Pac & DMX - Who We Be.mp3’
Подскажите что в скрипте не так???

Офлайн

#2 Дек. 28, 2012 11:54:55

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

скрипт копирование файлов

Скрипт работает, проверил. Как там с правами у файлов?



Офлайн

#3 Дек. 28, 2012 12:02:47

RDV1984
Зарегистрирован: 2012-12-28
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

скрипт копирование файлов

@toshiba:~/test$ ls -la
итого 27156
drwxr-xr-x 2 dm dm 4096 Дек 28 11:21 .
drwxr-xr-x 60 dm dm 4096 Дек 28 13:34 ..
-rw-r–r– 1 dm dm 66461 Авг 29 12:12 0LUBqfBNzBY.jpg
-rw-r–r– 1 dm dm 4894848 Дек 19 18:44 2Pac & DMX - Who We Be.mp3
-rw-r–r– 1 dm dm 67867 Авг 29 12:12 521t7-BrUg4.jpg
-rw-r–r– 1 dm dm 672822 Дек 2 20:08 Bogatij_papa_Bednij_papa.mobi
-rw-r–r– 1 dm dm 11773344 Дек 25 15:31 eleks - Black & White .mp3

Офлайн

#4 Дек. 28, 2012 12:05:34

Viktors
От:
Зарегистрирован: 2011-10-23
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

скрипт копирование файлов

а на папку test2 ?



Офлайн

#5 Дек. 28, 2012 12:17:26

RDV1984
Зарегистрирован: 2012-12-28
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

скрипт копирование файлов

Вот такие:
drwxrwxrwx 1 root root 184 Дек 28 13:58 test2

Да похоже, что то у меня с правами, если копирую файлы в папку в своей домашней директории, то все ок. А если в test 2 то вылезает вышеназванная ошибка.
Эта папка test2 находится у меня на примонтируемом диске win, ntfs. Вот такие права на каталогах /mnt/d/test2
drwxr-xr-x 10 root root 4096 Мар 10 2012 mnt
drwxrwxrwx 1 root root 8192 Дек 27 23:09 d
drwxrwxrwx 1 root root 184 Дек 28 13:58 test2
В групе root я не состою.

Отредактировано RDV1984 (Дек. 28, 2012 12:28:57)

Офлайн

#6 Дек. 28, 2012 12:28:42

Viktors
От:
Зарегистрирован: 2011-10-23
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

скрипт копирование файлов

так сделайте chown на папку или запустите скрипт от рута.



Офлайн

#7 Дек. 28, 2012 12:59:44

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

скрипт копирование файлов

RDV1984
Вот такие права на каталогах /mnt/d/test2
а причём тут эти каталоги ? ls -ld /mnt/d /mnt/d/test2



Офлайн

#8 Дек. 28, 2012 13:25:28

RDV1984
Зарегистрирован: 2012-12-28
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

скрипт копирование файлов

chown почему то не изменяет владельца. Делаю так:

# cd /mnt/d/
toshibamnt/d# chown dmitry:dmitry test2
ls -l
drwxrwxrwx 1 root root      48 Дек 28 15:16 test2
Хотелось бы чтобы скрипт работал от пользователя, а не от рута.
В Х-ах в эту папку файлы свободно копируются, а скрипт почему то не хочет копировать.
py.user.next не совсем понял вопрос.

Офлайн

#9 Дек. 29, 2012 01:44:25

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

скрипт копирование файлов

RDV1984
а в вашей системе зарегистрированы пользователь и группа dmitry ? а то выше фигурировали только dm



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#10 Дек. 29, 2012 02:52:39

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

скрипт копирование файлов

#!/usr/bin/env python
# -*- coding: utf8 -*-
 
import glob, shutil
 
names = glob.glob('/home/guest/tmp/*.txt')
for name in names:
    shutil.move(name, "/mnt/win/Temp")

[guest@localhost mnt]$ ll -d /mnt /mnt/win /mnt/win/Temp
drwxr-xr-x 6 root root 4096 Янв 12 2012 /mnt
drwxrwxrwx 1 root root 12288 Дек 29 11:47 /mnt/win
drwxrwxrwx 1 root root 256 Дек 29 11:49 /mnt/win/Temp
[guest@localhost mnt]$

так работает



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version