Программа не работает на Linux
# cc.py (change case) меняет раскрадку с ENG на РУС(и наоборот) посредством буфера обмена.
import pyperclip
eng_chars = "~!@#$%^&qwertyuiop[]asdfghjkl;'zxcvbnm,./QWERTYUIOP{}ASDFGHJKL:\"|ZXCVBNM<>? 1234567890"
rus_chars = "ё!\"№;%:?йцукенгшщзхъфывапролджэячсмитьбю.ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭ/ЯЧСМИТЬБЮ, 1234567890"
def change(s1, s2, s_main):
s_finish = []
for i in range(len(s_main)):
index = s1.index(s_main[i])
s_finish.append(s2[index])
return ''.join(s_finish)
s = pyperclip.paste()
if s.isascii():
print('ascii')
s = change(eng_chars, rus_chars, s)
else:
print('not ascii')
s = change(rus_chars, eng_chars, s)
pyperclip.copy(s)
На винде все работает четко. Под линуксом(манжароГном) не работает. Что-то не так именно с работой с буфером обмена. Не получается у неё вставить полученый результат обратно. Суть проги в том, что если случайно написал текст не на той раскладке, копируешь этот текст в буфер обмена, запускаешь программу и вставляешь из буфера уже нормальный текст.
Ответы (1 шт):
В документации пишут:
On Linux, this module makes use of the xclip or xsel commands, which should come with the os. Otherwise run “sudo apt-get install xclip” or “sudo apt-get install xsel” (Note: xsel does not always seem to work.)
Otherwise on Linux, you will need the gtk or PyQt4 modules installed.
xclip у Вас установленна?