Функция clipboard.get_selection() не может получить всю выбранную строку
Я установил ярлык, чтобы выделить фрагмент текста и открыть URL с выделением в конце.
Итак, это скрипт для AutoKey под Linux:
text = clipboard.get_selection()
system.exec_command("kde-open http://www.MY_URL.com/%s" % text)
проблема в том, что%s вставляет только первое слово.
Поэтому, если я выберу " мой текст - это ", то откроется URL: www.MY_URL.com/ my
2 ответа
Возможно, вам придется кодировать текст, чтобы использовать его в URL:
from urllib.parse import quote # in python2 that would be: from urllib import quote
text = quote(clipboard.get_selection())
system.exec_command("kde-open http://www.MY_URL.com/%s" % text)
system.exec_command("kde-open http://www.MY_URL.com/%s" % text) проблема в том, что %s вставляет только первое слово. Итак, если я выберу «мой текст», откроется URL-адрес: www.MY_URL.com/my
Я думаю, проблема в том, что ваш скрипт не сохраняет всю строку для поиска поURL-адресу.
Другими словами, команда, которую вы выполняете,
system.exec_command("kde-open http://www.MY_URL.com/my text is this")
Если работает на консоли
kde-open http://www.MY_URL.com/my text is this
не делает то, что вы хотите, Autokey не сделает это лучше.
Если вы используете Autokey с Python3, вы можете сделать
system.exec_command(f"kde-open 'http://www.MY_URL.com/{text}'")