Pythonで書いたプログラムの中から、クリップボードを操作できると便利だなと思い、調べてみるとMacにはコマンドラインのプログラムでクリップボードを操作できるものがあるということが判明。この小さな機能を組み合わせて仕事を達成するというUnix的発想がいまも継承されているところが、Macが死なずに生き残っている理由ですかね。(まあ、そうなったのは最近だという話もありますが・・・)
まあとにかく、Pythonからこれらのコマンドを、標準入出力を介して呼び出す関数を書けばOK。ちなみに、Macではクリップボードではなく、ペーストボード(paste bord)と呼ぶようです。
コマンドラインのプログラムをサブプロセスで呼び出しているだけなので、データのやり取りは文字列で行われます。画像などのバイナリデータをコピーしてもデータは取得できません。 また、改行はなぜか昔のMacのようにCR(\r)が使われますので注意が必要です。 これを使えば、Excelの列をコピーして、Pythonのプログラムの中でリストに変更なってことができるわけです。 なんか、ちょっとハックな気分ですね。(たいしたことやってませんが・・・) スポンサーサイト
|
|
| ホーム |
|