1
Я долго искал хороший способ поместить строку в буфер обмена, используя только каталоги, включенные в python. Я попыталсяКопирование строки в буфер обмена изначально python 3
import subprocess
def copy2clip(txt):
cmd='echo '+txt.strip()+'|clip'
return subprocess.check_call(cmd, shell=True)
и затем вызывая
copy2clip('text')
Однако это, казалось, добавить дополнительную строку текста в буфер обмена.
Я также пробовал метод Tkinter, но при попытке вставить его просто удалил окно python.
Я бегу питона 3.5.2 на окнах 10.
Использовать 'echo -n ...'. –
Нет необходимости использовать оболочку, что особенно плохо здесь, потому что 'shell = True' не использует параметр'/U', который делает внутренние команды cmd выводимыми Unicode. Вместо этого эхо-результат становится наиболее подходящим для кодировки консоли или кодовой страницы ANSI. Вместо этого рассмотрите возможность использования новой функции 'run', например. 'subprocess.run (['clip.exe'], input = txt.strip(). encode ('utf-16'), check = True)'. – eryksun