Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 12, 2014 13:35:31

newpy
Зарегистрирован: 2014-08-12
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Как достать буфер обмена виндовс7 (clipboard)

какие способы есть?
например в простоейшей консольной порограмме (без форм)
и какой из них самый легкий (не загружающий комп)
достать нужно текст


никакие winpithon или pywin не установлены
просто python3.4 наWin7-32 скачанный с сайта www.python.org

поиск мало что дает кое что есть но они очень старые ответы
говорят что piton 3 сильнo отличается от питон2

///////////////////////////

и второй ворпос
как я смогбы найти ответ пользуясь Help ?
опишите мне пожалуйста мои действия.
откройте Help i представьте себе что вы новичок.



__________________
py3.7.8-64 win10-64

Офлайн

#2 Авг. 12, 2014 16:11:43

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

Как достать буфер обмена виндовс7 (clipboard)

newpy
никакие winpithon или pywin не установлены
никак, клипбоард - это чисто виндово-зависимая штука, без winapi к ней не подобраться.

Офлайн

#3 Авг. 12, 2014 16:59:30

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Как достать буфер обмена виндовс7 (clipboard)

ну наверное на кроссплатформенное решение без внешних библиотек тянет tkinter clipboard

from Tkinter import Tk
def CopyToClipboard(txt):
    r = Tk()
    r.withdraw()
    r.clipboard_clear()
    r.clipboard_append(txt)
    r.destroy()
def CopyFromClipboard():
    r = Tk()
    r.withdraw()
    s = r.clipboard_get()
    r.destroy()
    return s



Офлайн

#4 Авг. 12, 2014 17:58:20

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

Как достать буфер обмена виндовс7 (clipboard)

doza_and
Совершенно верно. Все уже есть и кроссплатформенное. Не надо велосипедить. wiapi там всякие придумывать…

Отредактировано 4kpt_II (Авг. 12, 2014 17:58:42)

Офлайн

#5 Авг. 12, 2014 19:08:08

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

Как достать буфер обмена виндовс7 (clipboard)

doza_and, не знал, спасибо.

Офлайн

#6 Авг. 12, 2014 19:32:50

newpy
Зарегистрирован: 2014-08-12
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Как достать буфер обмена виндовс7 (clipboard)

s0rg
без winapi к ней не подобраться.
a образец не могли бы показать?
такой способ по сравнению со способом через Thinker как? более тяжеловеснее для проги?
/////////////////
s0rg
это чисто виндово-зависимая штука
в этом причина что в хелпе на слово clipboard я ничего не смог найти?
а что надо искать если новичоку самостоятельно докопаться? весь Help прочитать сложнновато.
/////////////////
doza_and
ну наверное на кроссплатформенное решение без внешних библиотек тянет tkinter clipboard
спасибо за пример! буду использовать это.
чисто для самообразования: подтягивание графического модуля tkinter в консольную прогу не усложняет прогу ?



__________________
py3.7.8-64 win10-64

Офлайн

#7 Авг. 12, 2014 19:37:03

newpy
Зарегистрирован: 2014-08-12
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Как достать буфер обмена виндовс7 (clipboard)

import win32clipboard
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardText(text)
win32clipboard.CloseClipboard()
вот этот образец (из интернета) k какой версии относится?
всё ещё “работоспособен”?



__________________
py3.7.8-64 win10-64

Офлайн

#8 Авг. 13, 2014 16:41:44

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

Как достать буфер обмена виндовс7 (clipboard)

newpy
в этом причина что в хелпе на слово clipboard я ничего не смог найти?
Именно, в базовой библиотеке питона, идут только платформонезависимое io - файлы, сокеты и т.д.

newpy
а что надо искать если новичоку самостоятельно докопаться? весь Help прочитать сложнновато.
Спросить на форуме по питону - это же очевидно ;)

newpy
вот этот образец (из интернета) k какой версии относится?
Это именно winapi-вариант, но для этого понадобится pywin32

newpy
всё ещё “работоспособен”?
Вполне, должен работать на любой win-платформе.

newpy
такой способ по сравнению со способом через Thinker как? более тяжеловеснее для проги?
Если и тяжелее - то не на много я так понимаю, что у Tk свои абстракции над платформозависимым кодом но в результате все равно будет вызов winapi.

Отредактировано s0rg (Авг. 13, 2014 16:42:38)

Офлайн

#9 Авг. 13, 2014 18:20:13

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Как достать буфер обмена виндовс7 (clipboard)

Офлайн

#10 Авг. 14, 2014 11:46:39

newpy
Зарегистрирован: 2014-08-12
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Как достать буфер обмена виндовс7 (clipboard)

Shaman
http://stackoverflow.com/a/3429034
я уже там искал. но всё равно спасибо. тамошние ответы старые явно относятся к версии питон2. пишут что питон3 координально отличается от второй версии, чуть ли не другой язык. да и явно не пишут к чему эти примеры относятся. Там какие то непонятные CPython,Python/C,Jython,Python for .NET,IronPython,PyPy и так далее..
s0rg
Это именно winapi-вариант, но для этого понадобится pywin32
у меня значит установлена “базовая библиотека питона” спасибо буду знать?
а pywin32 это что такое? это “import pywin32”? или “install pywin32.exe” надо делать?
на сайте sourceforge.net/projects/pywin32 написано что это расширение? раширение чего? виндовса? или расширение питона? не хотелось бы устанавливать всё подряд не зная что.
s0rg
Спросить на форуме по питону - это же очевидно
форумы для меня крайняя необходимость.. стараюсь не свзязываться с ними. там обычно начинают называть глупым который не хочет гуглом пользоваться а засоряет форум.




__________________
py3.7.8-64 win10-64

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version