Pythonでクリップボードに文字列をコピーする方法

※当サイトではアフィリエイト広告を利用しています

Pythonで「テキストをコピーした状態にしたい」と思ったことはありませんか?
実は、Pythonではたった1行でクリップボードに文字列をコピーできます。コマンド操作やGUIとの連携にも便利なので、覚えておいて損はありません。


pyperclip を使う(おすすめ)

最も手軽で、Windows / macOS / Linux に対応しているのが pyperclip ライブラリです。

import pyperclip

text = "コピーしたい文字列"
pyperclip.copy(text) # これでクリップボードにコピーされます

クリップボードの中身を取得することもできます:

copied = pyperclip.paste()
print(copied)

インストール方法:

pip install pyperclip

OSに応じた標準コマンドを使う

macOS の場合

import subprocess

text = "コピーしたい文字列"
subprocess.run("pbcopy", text=True, input=text)

Windows の場合

import subprocess

text = "コピーしたい文字列"
subprocess.run("clip", text=True, input=text, shell=True)

Linux の場合(xclip が必要)

import subprocess

text = "コピーしたい文字列"
subprocess.run("xclip -selection clipboard", input=text.encode(), shell=True)

どれを使うのが正解?

OSおすすめ方法
全OS共通pyperclip(一番簡単)
macOSのみpbcopy
Windowsのみclip
Linuxのみxclip or xsel

Pythonでテキストをクリップボードに送ることで、GUIアプリ・スクリプト・ツール開発の幅が広がります。
「自動でコピーしておいて、あとはユーザーが貼り付けるだけ!」という便利な仕組みを作ることができます。

コメント