Π’ соврСмСнном ΠΌΠΈΡ€Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ скриптов часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ взаимодСйствия с систСмным Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π°. Pyclip прСдставляСт собой ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ, Π½ΠΎ ΠΌΠΎΡ‰Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для языка Python, которая позволяСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСкст Π² Π±ΡƒΡ„Π΅Ρ€ ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΎΡ‚Ρ‚ΡƒΠ΄Π°. Π­Ρ‚ΠΎ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΡΠΎΠ·Π΄Π°ΡŽΡ‰ΠΈΡ… ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов ΠΈΠ»ΠΈ CLI-инструмСнты.

Основная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² кроссплатформСнности. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм сильно Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ: Windows ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠ΄Π½ΠΈ API, macOS β€” Π΄Ρ€ΡƒΠ³ΠΈΠ΅, Π° Linux опираСтся Π½Π° X11 ΠΈΠ»ΠΈ Wayland. ΠœΠΎΠ΄ΡƒΠ»ΡŒ pyclip Π±Π΅Ρ€Π΅Ρ‚ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π½Π° сСбя, прСдоставляя Π΅Π΄ΠΈΠ½Ρ‹ΠΉ интСрфСйс для всСх Ρ‚Ρ€Π΅Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ ΠΊΠΎΠ΄Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ОБ, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ основныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ распространСнных ошибок. ΠœΡ‹ рассмотрим Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», Π½ΠΎ ΠΈ Π½ΡŽΠ°Π½ΡΡ‹, связанныС с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ ΠΈ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. ПониманиС этих аспСктов ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния.

Установка ΠΈ настройка окруТСния

ΠŸΡ€ΠΎΡ†Π΅ΡΡ установки Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ максимально ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ благодаря систСмС ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Ρ… ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠ² Python. Для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Π°ΠΌ достаточно Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вас установлСн Python вСрсии 3.6 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ старыС вСрсии ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ синтаксичСскиС конструкции, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² соврСмСнных вСрсиях Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

pip install pyclip

ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ установки Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π³ΠΎΡ‚ΠΎΠ²Π° ΠΊ использованию. Однако стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… дистрибутивах Linux ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ систСмныС зависимости. Π’ частности, для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ часто Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ xclip ΠΈΠ»ΠΈ xsel. Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² срСдС Π±Π΅Π· графичСского интСрфСйса, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ эти ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π² систСмС.

  • πŸ“¦ Для Windows ΠΈ macOS установка ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ автоматичСски Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… дСйствий.
  • 🐧 На Linux ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ xclip Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ sudo apt install xclip.
  • πŸ” Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡƒΡ‚ΡŒ ΠΊ исполняСмым Ρ„Π°ΠΉΠ»Π°ΠΌ Python Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ срСды.
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ (venv), ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ запуском ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ установки, ΠΈΠ½Π°Ρ‡Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚ Π² глобальноС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ установкой

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Π‘Π°Π·ΠΎΠ²ΠΎΠ΅ использованиС: ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ вставка

Π Π°Π±ΠΎΡ‚Π° с pyclip ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятна ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ минимального количСства ΠΊΠΎΠ΄Π°. Основной сцСнарий использования ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ copy для записи Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ paste для ΠΈΡ… чтСния. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° автоматичСски опрСдСляСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ бэкСнд.

Рассмотрим простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π³Π΄Π΅ ΠΌΡ‹ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ строку Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с тСкстовыми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π±Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ кодирования ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкам ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΌΡƒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ символов.

import pyclip

text_to_copy = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€! Π­Ρ‚ΠΎ тСстовая строка."

pyclip.copy(text_to_copy)

print("ВСкст скопирован Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°.")

retrieved_text = pyclip.paste()

print(f"Из Π±ΡƒΡ„Π΅Ρ€Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ: {retrieved_text}")

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° Π²Ρ‹ΡˆΠ΅ тСкст ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ окаТСтся Π² Π±ΡƒΡ„Π΅Ρ€Π΅ вашСй систСмы. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ это, просто вставив содСрТимоС (Ctrl+V ΠΈΠ»ΠΈ Cmd+V) Π² любой тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€. Ѐункция paste() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ дальшС ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π² скриптС.

  • πŸ“‹ Ѐункция copy() пСрСзаписываСт Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ содСрТимоС Π±ΡƒΡ„Π΅Ρ€Π°.
  • πŸ“₯ Ѐункция paste() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ UTF-8.
  • πŸ”„ ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ синхронно ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ ΠΏΠΎΡ‚ΠΎΠΊ Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ.
πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ raw-строки (прСфикс r) ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с путями ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ тСкста, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с экранированиСм ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… слэшСй.

Π Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ символами

Одной ΠΈΠ· самых частых ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π° являСтся потСря ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ. Pyclip стараСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ UTF-8 ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π½ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы ΠΌΠΎΠ³ΡƒΡ‚ вСсти сСбя ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. НапримСр, Windows Π² консоли часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ cp1251 ΠΈΠ»ΠΈ cp866, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ появлСнию "кракозябр" вмСсто ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρ‹.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ искаТСния Π΄Π°Π½Π½Ρ‹Ρ…, всСгда явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ, Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с нСстандартными символами ΠΈΠ»ΠΈ спСцифичСскими окруТСниями. Π₯отя сам ΠΌΠΎΠ΄ΡƒΠ»ΡŒ стрСмится ΠΊ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ выполнСния Π΄ΠΈΠΊΡ‚ΡƒΠ΅Ρ‚ свои ΠΏΡ€Π°Π²ΠΈΠ»Π°. ОсобСнно это касаСтся эмуляторов Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Π²Ρ€ΠΎΠ΄Π΅ Putty ΠΈΠ»ΠΈ стандартного cmd.exe.

Если Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСкст с эмодзи ΠΈΠ»ΠΈ Ρ€Π΅Π΄ΠΊΠΈΠΌΠΈ символами, протСстируйтС Π²Ρ‹Π²ΠΎΠ΄ Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΉ срСдС. НСкоторыС старыС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Ρ‹ просто Π½Π΅ ΡƒΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ Unicode, ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ‚ΡƒΡ‚ бСссильна β€” ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π»Π΅ΠΆΠΈΡ‚ Π½Π° сторонС Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ².

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ДСфолтная ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Π΅ Π·ΠΎΠ½Ρ‹ РСкомСндация
Windows cp1251 / UTF-16 Консоль cmd.exe Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ PowerShell
macOS UTF-8 Π Π΅Π΄ΠΊΠΈΠ΅ символы ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅Ρ‚
Linux UTF-8 Wayland vs X11 ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ xclip
ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка UnicodeEncodeError?

Π­Ρ‚Π° ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ copy() Π±Π°ΠΉΡ‚ΠΎΠ²ΡƒΡŽ строку вмСсто тСкстовой, ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ символы Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ. ВсСгда Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π±Π°ΠΉΡ‚Ρ‹ Π² строку ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуаций

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с систСмными рСсурсами, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°, всСгда сущСствуСт риск возникновСния ошибок. Pyclip ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Ссли Π±ΡƒΡ„Π΅Ρ€ занят Π΄Ρ€ΡƒΠ³ΠΈΠΌ процСссом ΠΈΠ»ΠΈ Ссли систСма Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ доступ. Π­Ρ‚ΠΎ часто случаСтся ΠΏΡ€ΠΈ запускС скриптов ΠΈΠ·-ΠΏΠΎΠ΄ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ Π² срСдах Π±Π΅Π· графичСского интСрфСйса (headless).

ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΠΎ ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² Π±Π»ΠΎΠΊΠΈ try-except. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π½Π΅ ΠΏΠ°Π΄Π°Ρ‚ΡŒ с критичСской ошибкой, Π° gracefully ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сохранив Π΄Π°Π½Π½Ρ‹Π΅ Π² Π»ΠΎΠ³-Ρ„Π°ΠΉΠ». Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ этого ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΎΠΆΠΈΠ΄Π°Π» ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² Π±ΡƒΡ„Π΅Ρ€Π΅.

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Linux-дистрибутивах доступ ΠΊ X-сСрвСру ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½. Если скрипт запускаСтся Ρ‡Π΅Ρ€Π΅Π· sudo ΠΈΠ»ΠΈ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ доступа ΠΊ Π±ΡƒΡ„Π΅Ρ€Ρƒ ΠΎΠ±ΠΌΠ΅Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ сСанса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

import pyclip

try:

pyclip.copy("Π’Π°ΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅")

except Exception as e:

print(f"НС ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСкст: {e}")

# Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ошибки для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°

with open("error.log", "a") as f:

f.write(str(e))

  • πŸ›‘οΈ ВсСгда ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с внСшними рСсурсами.
  • πŸ“ Π›ΠΎΠ³ΠΈΡ€ΡƒΠΉΡ‚Π΅ ошибки для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π² production-срСдС.
  • 🚫 НС ΠΏΠΎΠ»Π°Π³Π°ΠΉΡ‚Π΅ΡΡŒ слСпо Π½Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ копирования.
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ headless-Ρ€Π΅ΠΆΠΈΠΌΠ΅ (Π±Π΅Π· GUI) Π½Π° Linux Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π½Π΅ смоТСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π° являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ графичСской подсистСмы. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ эмуляторы Π²Ρ€ΠΎΠ΄Π΅ Xvfb для тСстирования.
πŸ“Š Π‘ ΠΊΠ°ΠΊΠΎΠΉ ОБ Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Python скрипты?
  • Windows
  • macOS
  • Linux
  • Другая Unix-систСма

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ с Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ

Π’ экосистСмС Python сущСствуСт нСсколько Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π°, ΠΈ pyclip β€” Π½Π΅ СдинствСнная. НаиболСС популярным ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΎΠΌ являСтся pyperclip. Π’Ρ‹Π±ΠΎΡ€ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ зависит ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€ зависимостСй ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ.

Pyclip позиционируСтся ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ лСгкая Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π°Ρ тяТСлых зависимостСй Π²Ρ€ΠΎΠ΄Π΅ PyQt ΠΈΠ»ΠΈ GTK, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ для микросСрвисов, Docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΈ Lambda-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π³Π΄Π΅ Π²Π°ΠΆΠ΅Π½ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Π°.

Однако, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°Π±ΠΎΡ‚Π° с Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ тСкст (RTF, HTML) ΠΈΠ»ΠΈ изобраТСниями, стоит ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² сторону Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹Ρ… инструмСнтов. Для простых тСкстовых Π·Π°Π΄Π°Ρ‡ pyclip остаСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… Π²Ρ‹Π±ΠΎΡ€ΠΎΠ² ΠΏΠΎ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ лСгковСсности.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ примСнСния

Π“Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ автоматичСскоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π°? Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠ΅Π² мноТСство: ΠΎΡ‚ создания сниппСтов для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π΄ΠΎ парсинга Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ автоматичСски ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ сгСнСрированный ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ это Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ JSON ΠΈ сразу ΠΊΠ»Π°Π΄ΡƒΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² Π±ΡƒΡ„Π΅Ρ€. Π­Ρ‚ΠΎ ускоряСт workflow ΠΈ избавляСт ΠΎΡ‚ Π»ΠΈΡˆΠ½ΠΈΡ… дСйствий. Π’Π°ΠΊΠΆΠ΅ это ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для создания CLI-инструмСнтов, Π³Π΄Π΅ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ² ΠΊ вставкС Π² ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΈΠ»ΠΈ Ρ‡Π°Ρ‚.

МоТно Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π°, которая Π±ΡƒΠ΄Π΅Ρ‚ пСриодичСски ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ содСрТимоС ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ Π² Ρ„Π°ΠΉΠ». Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ случайно пСрСзаписанныС Π΄Π°Π½Π½Ρ‹Π΅. Π’Π°ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Π»Π΅Π³ΠΊΠΎ рСализуСтся Π² нСсколько строк ΠΊΠΎΠ΄Π° с использованиСм Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°.

πŸ’‘

Автоматизация Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π° Ρ‡Π΅Ρ€Π΅Π· pyclip экономит врСмя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ сниТаСт количСство Ρ€ΡƒΡ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, дСлая скрипты Π±ΠΎΠ»Π΅Π΅ Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½Ρ‹ΠΌΠΈ.

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ pyclip для копирования Ρ„Π°ΠΉΠ»ΠΎΠ²?

НСт, pyclip ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с тСкстовыми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Для копирования Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Π±ΡƒΡ„Π΅Ρ€ (Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Ρ‚Π΅ΠΌ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊ) Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ спСцифичСскиС систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ эта Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚.

Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π² Google Colab?

Π’ Google Colab Ρ€Π°Π±ΠΎΡ‚Π° с Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ сСрвСрная Ρ‡Π°ΡΡ‚ΡŒ Python Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ прямого доступа ΠΊ клиСнтскому Π±ΡƒΡ„Π΅Ρ€Ρƒ ΠΎΠ±ΠΌΠ΅Π½Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° Π±Π΅Π· использования JavaScript-ΠΌΠ°Π³ΠΈΠΈ.

Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ установлСнной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ?

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ pip show pyclip Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅. Π’ самом Python это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· pyclip.__version__, Ссли Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ экспортировал эту ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.