hitochan007のブログ(Pythonの勉強ブログ)

★Pythonの勉強記録を中心に●pomera DM200、●パソコン、●グルメ、●愛犬(トイプードル) などについてのブログです


テーマ:
投稿写真

大成でランチ。
すごいボリューム


AD
コメント(0)  |  リブログ(0)
同じテーマ 「Simplog」 の記事
最近の画像つき記事  もっと見る >>

テーマ:
投稿写真

#スズメ
今日散歩をしてあると、スズメが複数枝に止まっているのを見かけました。まるで花が咲いているようで、綺麗やら可愛いやら、とても和みました。暖かいので春が来たようでした。


AD
コメント(0)  |  リブログ(0)

テーマ:
【過去の記事 Python:目次】

■サンプルプログラム:クリップボードの取扱■
●1.クリップボードの内容取得
●2.クリップボードに文字列入力
●3.クリップボードの内容をファイルに書き出す



●1.クリップボードの内容取得


クリップボードの中身を取り出す方法いろいろあるようですが、私はtkinterを使う方法が一番簡単ではないかと思います。

以下get.clip()という関数を作ってみました。
この関数からは、内容が文字列で帰ってきますので、あとはその文字列を処理してやればOKです。

1
2
3
### get_clip() クリップボードの内容を返す関数
def get_clip():
return tk.Text().clipboard_get()

syntax2html


●2.クリップボードに文字列入力


クリップボードに何か入れたい場合。例えば、オリジナルのメールアドレス帳などからメールアドレスをクリップボードに入れて、メーラーのあて先に入れるときなど便利かもしれません。(また、作ってみたいな・・・

さて、クリップボードに入れるときもtkinterを使います。
以下、put_clip(text)という関数です。一度、クリップボードを空にする命令(tk.Text().clipboard_clear())のあとにテキスト入力の命令(tk.Text().clipboard_append(text_u))でOKです。


1
2
3
4
### put_clip( text_u )  クリップボードに文字列を入れる
def put_clip( text_u ):
tk.Text().clipboard_clear()
tk.Text().clipboard_append(text_u)

syntax2html



●3.クリップボードの内容をファイルに書き出す

上記の関数を用いて、クリップボードの内容をファイルに書き出す関数を作ってみます。

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
### ClipboardToFile(wfilename='ClipData.dat'): クリップボードの内容をファイルに書き込む(TKinter利用)G116
def ClipboardToFile(wfilename='ClipData.dat'):
#■ ClipboardToFile3(): クリップボードの内容をファイルに書き込む(TKinter利用)
try:
text1=get_clip()
text2=text1.replace('\r','')
text2=text2.replace(chr(0),' ')
CreateDatafile(text2,wfilename) #クリップボード文字列をファイルに書き込む:ファイル名固定 data.dat
except:
text2=''
return len(text2)

### CreateDatafile(txt,wfilename='data.dat'): ■引数に渡したテキストをファイルに書き込む(ファイル名固定)
def CreateDatafile(txt,wfilename='data.dat'):
#■引数に渡したテキストをファイルに書き込む(ファイル名固定)
#wfilename='data.dat'

fout_utf = codecs.open(wfilename, 'w', 'utf-8') #同じ書き込みファイルをutf-8でアペンドモードでOpen
fout_utf.write(txt)
fout_utf.close()

syntax2html


クリップボードの中にある文字列で\rを空文字にしたり、chr(0)を空文字にしたり処理を入れていますが、必要に応じて、省いてもよいかもしれません。また、何度かクリップボードが空のときなのかエラーが出ましたので、例外処理として、null文字を返す工夫をしました。

これらをサンプルプログラムとして、作りあげました。

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def GB1s1_3(self):
print('GB1s1_3 クリップボードを操作する(クリップボードの内容をファイルに書き込む、テキストをクリップボードに格納)')
DispTimeset(start_time,Dispflag=True) #経過時間計測

writepath,exist_flg=WriteFilePath(Pathname='RW_Data') #データ書き込みディレクトリー設定
OriginalPath=CDandSaveD(TargetD=writepath) #ディレクトリー変更

wfilename='CipData.txt'
ClipboardToFile(wfilename) #クリップボードの内容をファイルに書き込む(UTF-8)
#print('クリップボードのテキストの長さ:',txt_len)

FileDisp(wfilename,number=100)#100行だけファイル内容を表示する

text_u='この文章はクリップボードに入力しています。\r\n改行もこのとおりうまくいきます\r\nためしにpythonのシェル画面でペーストしてみてください。(^^;)'
#text_u=''
put_clip( text_u )

CDandSaveD(TargetD=OriginalPath) #ディクトリ-を元に戻す
DispTimeset(start_time,Dispflag=True) #経過時間計測

syntax2html


これで、クリップボードの入出力が簡単にできる方法を手に入れました。





●クリップボードを扱う●

今回はクリップボードの内容を取り出したり、逆にクリップボードに文字列を入れたりする操作方法のプログラムを作ってみました。

クリップボードは、Windowsのアプリケーション間でデータをやりとりする便利で簡単な方法ですね。

先にも書きましたが、メールアドレスなどキーボードで入力するのは面倒な文字列をPythonを使ってクリップボードに入力することやメールの署名欄に入力する際の操作をクリップボード経由で行ったりいろいろとクリップボードの使い途は未知数です。

漢字入力用の辞書には、単語登録はできますが、改行のある複数行の定型文書などは、クリップボードの出番かもしれません。

メニュー番号は、GroupB1s1_3とGroupB1s1_4です。

ソースコードはこちら → リンク


pdfはこちら → リンク







チェック クリップボードの中身を取り出すにはtkinterモジュールを使うのが簡単でよい
チェック tk.Text().clipboard_get()
チェック クリップボードに文字列をセットするのはクリップボードをクリアしてから文字をセットする
チェック tk.Text().clipboard_clear()
チェック tk.Text().clipboard_append(text_u)






AD
コメント(0)  |  リブログ(0)

AD

Ameba人気のブログ

Amebaトピックス

      ランキング

      • 総合
      • 新登場
      • 急上昇
      • トレンド

      ブログをはじめる

      たくさんの芸能人・有名人が
      書いているAmebaブログを
      無料で簡単にはじめることができます。

      公式トップブロガーへ応募

      多くの方にご紹介したいブログを
      執筆する方を「公式トップブロガー」
      として認定しております。

      芸能人・有名人ブログを開設

      Amebaブログでは、芸能人・有名人ブログを
      ご希望される著名人の方/事務所様を
      随時募集しております。