PDA

Просмотр полной версии : Python вопрос как сделать так ?


TikTik
28.12.2009, 23:16
:1. Поскольку все хозяйство у нас должно покоиться в одном ру-файле. то картинку нужно будет сжать, а потом закинуть в base64 (превратив в строку!. Теперь — немножко питоновской магии с объектом gzip.GzipFile. которому при создании мы указываем, куда сохранять уже сжатые данные, и получаем код. который читает файл my.jpg, сжимает, кодирует функцией baseoi.encodestring в строку base64 и полученную строку-изображение сохраняете rez_img.txt;
Собственно вот объясните на пальцах пожалуйста только начал изучать питон буквально 2 дня ну уж очень хочется проделать вот этот вот трюк:)
повторяю код по описанию но не могу разобраться с изображением где же находится этот base64 скрипт на преобразования картинки в текст вот



img_file = 'my2.jpg'

import StringIO
import gzip
import base64

zbuf = StringIO.StringIO()
zfile = gzip.GzipFile(mode='wb', fileobj=zbuf) zfile.write(open(img_file,'rb').read()) zfile.close() open('rez_img.txt','w').write(base64.encodestring( zbuf.getvalue()))
но как это всё сделать я не пойму из за слишком малых познаний на данный момент в Python помогите
Имею ввиду как свою картинку преобразовать в текст ?
где он этот rez_img.txt создаёт :mad:

Forcer
28.12.2009, 23:59
rez_img.txt создает в рабочей директории - откуда запускается интерпретатор.

TikTik
29.12.2009, 00:09
rez_img.txt создает в рабочей директории - откуда запускается интерпретатор.Блин стыдно)) но всё ровно спрошу я облазил всё, ты имеиш ввиду в папке Python 26 я там всё облазил IDLE я запускаю из пуск/программы
Я не знаю откуда он ещё может запускаться :confused: :confused: :( :( :( :( :(
можно по пальцам я ещё вобще зелёный :( но очень трудолюбивый :)

Forcer
29.12.2009, 00:34
Если добавить в переменную окружения path директорию с питоном, то его можно будет запускать из любой директории. Допустим, у нас есть директория /parent, в ней есть директория child. Наш скрипт test.py лежит в папке child, то есть полный путь /parent/child.
Содержимое test.py(вывод рабочей директории):

import os

print os.getcwd()

Допустим, мы находимся в директории parent и запускаем наш скрипт:
python child/test.py
На экране мы увидим:
/parent
Если мы перейдем в директорию child и оттуда запустим наш скрипт, то он выведет следующее:
/parent/child

Читай книжки вообщем.

TikTik
29.12.2009, 00:53
Читай книжки вообщем.Спасибо большое ответ и за терпение !!!
Да забежал вперёд на много, ну уж очень захотелось по пробывать

Вот тут ещё вопросик пытаюсь создать тест
http://i020.radikal.ru/0912/b8/f63aded3e99a.jpg
с помощью программы pyinstaller для .exe выскакивает вот такая вот ошибочка там по идеи в папке test должен будет появится файлик ok.txt
print "Ok"
open("ok".txt , "w").write ('ok')
скорей всего наверно с кодом что то не так очень плохое качество скана почти нечего не видно :( :(

TikTik
29.12.2009, 23:55
так не кто и не подскажет на счёт кода правильный или нет ?

login999
30.12.2009, 11:54
Эмм.
WindowsError это не похоже на ошибку в твоём коде.
P.S. Попробуй использовать py2exe а не PyInstaller.

rushter
30.12.2009, 15:35
Эмм.
WindowsError это не похоже на ошибку в твоём коде.
P.S. Попробуй использовать py2exe а не PyInstaller.
PyInstaller лучше :).Специально попробовал,всё отлично собирается.
open("ok".txt , "w").write ('ok')
open("ok.txt" , "w").write ('ok')

TikTik
30.12.2009, 15:53
PyInstaller лучше :).Специально попробовал,всё отлично собирается.

open("ok.txt" , "w").write ('ok') Спасибо ща затестим !

PyInstaller да как говорится всё гениальное просто это о нём))

TikTik
30.12.2009, 16:25
что в конце кода написать чтоб командное окошко не закрывалось сразу чтоб можно было посматреть что там пишет ошибка в коде или нет ??

rushter
30.12.2009, 16:38
raw_input()
При ошибке всёравно вылетит.

TikTik
30.12.2009, 17:00
Блин не получается сделать test
вот код Теста
http://s56.radikal.ru/i151/0912/04/f75b0dd16ecd.jpg
вот такую ошибку выдаёт
http://s05.radikal.ru/i178/0912/50/7f60164ba853.jpg
а должно быть так
c:\pyinstaller> Makespec.py -F -w -X d:\test\ test,py
c:\pyinstaller> Build.py d:\pyinstaller\test\ test.spec
Несколько секунд ожидания... готово! Результат работы покоится в папке d:\pyinstaller\test\distV Наш test.exe получился размером в 2.4 Мб. и, если его запустить, то может показаться, что ничего не сработало — окна нет. Однако ok.txt создается, а значит, все отлично работает. но этот ok так и не создаётся и папки новой не появляится

login999
30.12.2009, 18:00
По рукам вас бить нужно =/
IndentationError - натуплено с отступами =\

P.S. >2 rushter А еще есть самая офигенная штука, имя которой Gui2exe(Типа специально для wxpython враппер для всех этих "экзеделок")

TikTik
30.12.2009, 18:31
По рукам вас бить нужно =/
IndentationError - натуплено с отступами =\

P.S. >2 rushter А еще есть самая офигенная штука, имя которой Gui2exe(Типа специально для wxpython враппер для всех этих "экзеделок")
По инструкции просто делаю но пробывал как только не переставлял эти индикаторы не получается не как та же ошибка :(

TikTik
30.12.2009, 20:30
всё разобрлся просто отступы нужно было убрать