crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Ошибки при работе с файлами и каталогами
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
zuze Дата 22.3.2013, 8:27
 
Цитата(lanz @ 22.3.2013, 8:21) *
Только что из DreamPie, все работает, все выводит


Всё заработало, только в моём случае в место
bf[j].append(i+j)


делаю
bf[j].append(fp.read(i+j))
lanz Дата 22.3.2013, 8:21
 
for j in range(0, 720, 1):
     bf.append([])
     for i in range(491, 0, -1):
         bf[j].append(i+j)
         print bf[j]

Только что из DreamPie, все работает, все выводит :lol:
Кстати рекомендую http://www.dreampie.org/ очень удобно пробовать конструкции которые давно не использовал.
zuze Дата 21.3.2013, 15:55
 
Цитата(lanz @ 21.3.2013, 15:20) *
for j in range(0, 720, 1):
    bf.append([])
      for i in range(491, 0, -1):
          bf[j].append(fp.read(1))


Этот строчку кода, когда я делаю во вложенном цикле её

print bf[j]


Выводится почему-то только первое значение, я так понял это из-за того что j не меняеться, но почему оно не меняеться в циклах оно же меняется?
lanz Дата 21.3.2013, 15:20
 
for j in range(0, 720, 1):
     bf.append ([]);
     for i in range(491, 0, -1):
          bf[j].append(fp.read(1))


Все же советую использовать что нибудь из следующего:
http://docs.python.org/2/library/array.html - одномерные массивы.
http://www.numpy.org/ - многомерные массивы и полезные функции.
http://www.pythonware.com/products/pil/ - для работы с изображениями.

Кстати, никто не знает альтернативу PIL(что сейчас модно :lol:)? Печалит последний релиз четырехлетней давности.
zuze Дата 21.3.2013, 14:55
  Хотел сделать присвоение двухмерному массива двоичного файла по байтно.
Пробовал, как я делал на Си, вот так:

# Глобальная переменная
bf = []

global bf
for j in range(0, 720, 1):
     for i in range(491, 0, -1):
          bf[i][j] = fp.read(1)


Но, выскакивает ошибка: IndexError: list index out of range
Как же это поправить?
zuze Дата 21.3.2013, 9:15
 
Цитата(ViGOur @ 20.3.2013, 16:33) *
а еще лучше почитай книжку по Python не будет лишней...


Поправил, тепрерь всё впорядке:

os.chdir(dir)
try:
    fp = open(NF[frame], 'rb')
except IOError:
    print "Cannot open file read!"
ViGOur Дата 20.3.2013, 16:33
  Конечно он срабатывает, ибо данный код:
if IOError:
   print "Cannot open file read!"
переводится как: если тип IOError не равен None (а он не равен), напечатать "Cannot open file read" :)

ты лучше скажи чего хочешь, а еще лучше почитай книжку по Python не будет лишней... ;)
zuze Дата 20.3.2013, 16:16
 
Цитата(ViGOur @ 20.3.2013, 16:06) *
Как я понимаю os.chdir не позвращает ничего, ибо зачем?


Я засомневался из-за того, что следующий код который после откоытия файла написан срабатывает. Что странно, так как и пут текущий должен быть правильный и имя файла верное.

if IOError:
   print "Cannot open file read!"


Может код для проверки открылся ли файл, нужно было другой какой-то писать?
ViGOur Дата 20.3.2013, 16:06
  Как я понимаю os.chdir не позвращает ничего, ибо зачем? Ты же и так знаешь на что меняешь, а если что-то будет не так она кинет исключение вроде: WindowsError
Если ты хочешь посмотреть текущую директорию после os.chdir используй os.getcwd.
zuze Дата 20.3.2013, 15:38
  Я хочу сметить текущую директорию.
Делаю так:
# Глобально делаю
dir = os.path.join(os.getcwd(), "file") # Выбор текущей директории с файлами

# В функции
global dir
os.chdir(dir)


А в результате когда я делаю

print os.chdir(dir)


Выводится: None

Когда я делаю

print dir


Выводится всё правильно: D:\PythonProject\l\file

Пробовал сделать, так

os.chdir(r"D:\PythonProject\l\file")


Тоже выводится: None

Почемуже, так происходит?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 27.4.2024, 13:30