Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 18, 2015 15:28:38

l1nx
Зарегистрирован: 2015-04-12
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с использованием shutil

#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys, os.path, shutil
img  = sys.argv[1]
dir_ = sys.argv[2]
date = "11.11.2014"
for root, dirs, files in os.walk(dir_):
    if date in dirs:
        shutil.copy2(img, os.path(dir_, date))
    else: 
        print "err"

Надо скопировать фото в папку с именем 11.11.2014, которая в dir_
так вызываю скрипт:
python test_shutil.py 20141111_191402.jpg testdir
File “test_shutil.py”, line 12
SyntaxError: Non-ASCII character ‘\xd0’ in file test_shutil.py on line 12, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
Что не так с copy2?

Офлайн

#2 Апрель 18, 2015 17:20:10

werter
Зарегистрирован: 2014-09-02
Сообщения: 19
Репутация: +  1  -
Профиль   Отправить e-mail  

Проблема с использованием shutil

shutil.copy2(img, os.path.join(dir_, date))

Офлайн

#3 Апрель 18, 2015 19:27:01

l1nx
Зарегистрирован: 2015-04-12
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с использованием shutil

werter
shutil.copy2(img, os.path.join(dir_, date))
Да, join забыла. Но ошибка с Non-ASCII не убирается

Офлайн

#4 Апрель 18, 2015 20:00:09

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Проблема с использованием shutil

l1nx
SyntaxError: Non-ASCII character ‘\xd0’ in file test_shutil.py on line 12
Я в полном замешательстве. Ошибка в наличии не ASCII символа в строчке 12, однако в предъявленном исходнике 11 строк, и кодировка исходника задана. Вы точно один и тот же скрипт запускаете и правите?!



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Отредактировано PooH (Апрель 18, 2015 20:00:55)

Офлайн

#5 Апрель 18, 2015 20:20:34

l1nx
Зарегистрирован: 2015-04-12
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с использованием shutil

PooH
http://pastie.org/10100134
Тут на сайте парсилка кода выкидывает пустые строки

Отредактировано l1nx (Апрель 18, 2015 20:21:08)

Офлайн

#6 Апрель 18, 2015 22:50:30

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

Проблема с использованием shutil

Прикрепи файл с диска к сообщению.

l1nx
SyntaxError: Non-ASCII character ‘\xd0’ in file test_shutil.py on line 12, but no encoding declared
Тут два противоречия: во-первых, он говорит, что в исходном файле есть байт \xd0, когда его нет, а во-вторых, он говорит, что кодировка не указана, когда она указана.
Так что, возможно, ты потеряла что-то при копировании кода из файла на форум.



Отредактировано py.user.next (Апрель 18, 2015 22:51:14)

Офлайн

#7 Апрель 19, 2015 13:02:17

l1nx
Зарегистрирован: 2015-04-12
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с использованием shutil

Разобралась с кодировкой и своей криворукостью.
Теперь что-то не так с логикой выполнения кода. Фото копируется в папку и выводится err
http://i.imgur.com/HOQUTk6.png

Офлайн

#8 Апрель 19, 2015 14:36:11

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

Проблема с использованием shutil

Запускаешь через

python script.py
хотя сверху написан способ запуска:
#!/usr/bin/python
Надо просто добавить право выполнения на скрипт и запускать через
./script.py
и писать не так прямо, а через env:
#!/usr/bin/env python
потому что питона в /usr/bin может не оказаться.

l1nx
Фото копируется в папку и выводится err
Потому что os.walk() так работает - спускается в подпапки.

>>> import os
>>> 
>>> w = os.walk('prog')
>>> next(w)
('prog', ['practice', 'info', 'projects'], ['.directory'])
>>> next(w)
('prog/practice', ['c', 'info'], ['.directory'])
>>>



Отредактировано py.user.next (Апрель 19, 2015 14:43:09)

Офлайн

#9 Апрель 19, 2015 20:36:33

l1nx
Зарегистрирован: 2015-04-12
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с использованием shutil

py.user.next
Ок. Сделала так

#!/usr/bin/env python
import sys, os.path, shutil
img  = sys.argv[1]
dir_ = sys.argv[2]
date = "11.11.2014"
for root, dirs, files in os.walk(dir_):
    if date in dirs:
        shutil.copy2(img, os.path.join(dir_, date))
    else: 
        print "err"
    break

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version