2017-01-15 18 views
1

リッチテキストをコピーして、ソースコードを修正し(regexやbeautifulsoupを使っていくつかのタグとテキストを変更して)、クリップボードに戻したいと思います。私はそれを行う最も簡単な方法を探しています。python 3.6 windows:クリップボードCF_HTML形式を取得する

私はwin32clipboardを試しましたが、doesn't support the CF_HTML formatwindows clipboard contains many formats)です。

この形式を取得するのに役立つモジュールを探しています: CF_HTMLクリップボード形式にHTMLが含まれていれば、その変数に格納し、何らかの操作を行ってから戻してください。 (オプション:他のクリップボード形式で他のものを行う)

私が探しているのは、これと同等のLinuxです。クリップボード内のいくつか(source

#!/usr/bin/env python 
import gtk 
print (gtk.Clipboard().wait_for_contents('text/html')).data 

EDIT1があるときには、HTMLソースを取得します。this scriptを使用してpywin32と周りの仕事があります。しかし、それを直接行うことができるモジュールはありますか(CF_HTMLにデータが含まれている場合は取得して返信してください)。

答えて

0

Edit1ソリューションは実際には最高のようです。

  1. はPythonのモジュールフォルダに(HtmlClipboard.py)上記のスクリプトを置く:C:\ Users \ユーザーxxxは\のAppData \ローカル\プログラム\ Pythonの\ Python36 \ Libの\サイト - パッケージ
  2. win32clipboardインストール

    #get CF_Html Clipboard 
    import HtmlClipboard #.py script found in github 
    if HtmlClipboard.HasHtml(): 
        # print('there is HTML!!') 
        dirty_HTML = HtmlClipboard.GetHtml() 
        print(dirty_HTML) 
    else: 
        print('no html') 
    
    dirty_HTML= clean_HTML #do what you want with it 
    
    #put data to clipboard: 
    HtmlClipboard.PutHtml(clean_HTML) 
    

ボーナス:

ます上記の2点を持つ
  • は、このようなスクリプトを使って遊ぶことができます10

    ##get CF_TEXT from clipboard 
    import win32clipboard 
    win32clipboard.OpenClipboard() 
    text = win32clipboard.GetClipboardData(win32clipboard.CF_TEXT) 
    win32clipboard.CloseClipboard() 
    
  • 関連する問題