<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        使用Python編寫一個在Linux下實現截圖分享的腳本的教程

        來源:懂視網 責編:小采 時間:2020-11-27 14:39:33
        文檔

        使用Python編寫一個在Linux下實現截圖分享的腳本的教程

        使用Python編寫一個在Linux下實現截圖分享的腳本的教程:引子 Linux下不支持QQ等功能豐富的IM,雖然可以通過wine運行QQ2012,但是還是喜歡在gtalk群中聊天,gtalk群不支持圖片方式,這就要靠我們大家自己來解決了,eleven開放了一個Image上傳和顯示接口,提供了使用curl來解決,但是我們公司的網絡使用squid禁止了c
        推薦度:
        導讀使用Python編寫一個在Linux下實現截圖分享的腳本的教程:引子 Linux下不支持QQ等功能豐富的IM,雖然可以通過wine運行QQ2012,但是還是喜歡在gtalk群中聊天,gtalk群不支持圖片方式,這就要靠我們大家自己來解決了,eleven開放了一個Image上傳和顯示接口,提供了使用curl來解決,但是我們公司的網絡使用squid禁止了c

        引子

        Linux下不支持QQ等功能豐富的IM,雖然可以通過wine運行QQ2012,但是還是喜歡在gtalk群中聊天,gtalk群不支持圖片方式,這就要靠我們大家自己來解決了,eleven開放了一個Image上傳和顯示接口,提供了使用curl來解決,但是我們公司的網絡使用squid禁止了curl的訪問,所以整天看他們這么爽的分享圖片我也不甘心阿,所以就使用Python寫了一個分享圖片的腳本
        實現

        使用scrot截圖,然后使用urllib2庫上傳圖片,如果存在PyQt4庫則會將結果放到剪貼板上,如果不存在則輸出,自行復制
        代碼

        #!/usr/bin/env python
        # -*- coding:utf-8 -*-
        #
        # Author : cold
        # E-mail : wh_linux@126.com
        # Date : 13/01/21 09:54:39
        # Desc : 貼代碼和圖片
        #
        import urllib2, json
        import mimetools
        import mimetypes
        import itertools
        
        __host__ = "http://eleveni386.7axu.com"
        
        class Form(object):
         def __init__(self):
         self.form_fields = []
         self.files = []
         self.boundary = mimetools.choose_boundary()
         self.content_type = "application/x-www-form-urlencoded"
         return
        
         def get_content_type(self):
         return self.content_type
        
         def add_field(self, name, value):
         self.form_fields.append((name, value))
         return
        
         def add_file(self, fieldname, filename, fileHandle, mimetype=None):
         body = fileHandle.read()
         if mimetype is None:
         mimetype = ( mimetypes.guess_type(filename)[0]
         or
         'applicatioin/octet-stream')
         self.files.append((fieldname, filename, mimetype, body))
         self.content_type = 'multipart/form-data; boundary=%s' % self.boundary
        
         return
        
         def __str__(self):
         parts = []
         part_boundary = '--' + self.boundary
        
         parts.extend(
         [ part_boundary,
         'Content-Disposition: form-data; name="%s"' % name,
         '',
         value,
         ]
         for name, value in self.form_fields)
         if self.files:
         parts.extend([
         part_boundary,
         'Content-Disposition: form-data; name="%s"; filename="%s"' %
         (field_name, filename),
         'Content-Type: %s' % content_type,
         '',
         body,
         ] for field_name, filename, content_type, body in self.files)
        
         flattened = list(itertools.chain(*parts))
         flattened.append('--' + self.boundary + '--')
         flattened.append('')
         return '
        '.join(flattened)
        
        
        class HttpHelper(object):
         def __init__(self, url = None, form = None, method = 'GET'):
         self._url = url
         self._form = form
         self._body = str(form)
         self._method = method
         self._dst_url = None
         if url:
         self.make_request()
        
         def make_request(self):
         url = self._url
         if not self._url.startswith('http://'):
         url = 'http://' + self._url
         self.request = urllib2.Request(url)
         if self._form:
         self.add_header("Content-Type", self._form.get_content_type())
         self.add_header("Content-Length", len(self._body))
         self.request.add_data(self._body)
        
         def add_header(self, key, val):
         self.request.add_header(key, val)
        
         def change(self, url, params = {}, method = 'GET'):
         self._url = url
         self._params = params
         self._method = method
         self.make_request()
        
         def open(self):
         response = urllib2.urlopen(self.request)
         content = response.read()
         self._dst_url = response.geturl()
         try:
         return json.loads(content)
         except:
         return content
        
        if __name__ == "__main__":
         import argparse
         import os
         parser = argparse.ArgumentParser()
         parser.add_argument(dest="path", nargs="?")
         args = parser.parse_args()
         if args.path:
         path = args.path
         else:
         path = r"/tmp/tmpscrot.png"
         os.system("scrot -s {0}".format(path))
         form = Form()
         filename = os.path.split(path)[-1]
         form.add_file(fieldname='mypic', filename=filename,
         fileHandle=open(path))
         http = HttpHelper( __host__ + '/Image/', form)
         url = http.open()
         try:
         from PyQt4.QtGui import QApplication
         app = QApplication([])
         cb = QApplication.clipboard()
         cb.setText(url)
         except:
         print url
        
        

        安裝

        將上面代碼保存一個文件,放在PATH路徑里,賦予執行權限即可
        使用

        默認的不跟圖片地址則會截圖,截圖完畢后自動分享,如安裝了PyQt4庫則會將結果放到剪貼板,如沒有則輸出結果.如果腳本給了圖片路徑參數則上傳給定路徑的圖片

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        使用Python編寫一個在Linux下實現截圖分享的腳本的教程

        使用Python編寫一個在Linux下實現截圖分享的腳本的教程:引子 Linux下不支持QQ等功能豐富的IM,雖然可以通過wine運行QQ2012,但是還是喜歡在gtalk群中聊天,gtalk群不支持圖片方式,這就要靠我們大家自己來解決了,eleven開放了一個Image上傳和顯示接口,提供了使用curl來解決,但是我們公司的網絡使用squid禁止了c
        推薦度:
        標簽: 一個 截圖 使用
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲乱码无人区卡1卡2卡3| 久久久久精品国产亚洲AV无码| 亚洲欧美aⅴ在线资源| 无码国产精品一区二区免费| 一区二区三区免费高清视频| 国产一级淫片a免费播放口之| 亚洲精品乱码久久久久蜜桃| 天天操夜夜操免费视频| 亚洲AV综合永久无码精品天堂| 在线观看免费亚洲| 黄色a级片免费看| 亚洲综合区小说区激情区| 亚洲欧洲日韩国产| 18勿入网站免费永久| 亚洲欧洲无卡二区视頻| 暖暖免费高清日本一区二区三区| 真正全免费视频a毛片| 国产精品亚洲精品日韩已方 | 激情综合亚洲色婷婷五月| 国产v精品成人免费视频400条| 亚洲色欲一区二区三区在线观看| 色www永久免费网站| 亚洲成人一级电影| 国产成人涩涩涩视频在线观看免费| 黄色a三级三级三级免费看| 亚洲韩国精品无码一区二区三区 | 亚洲精品无码精品mV在线观看| 无码人妻丰满熟妇区免费| 久久精品国产亚洲av麻豆蜜芽| 永久黄网站色视频免费直播| 一级毛片a免费播放王色| 久久亚洲精品中文字幕| 免费无码看av的网站| 中文字幕不卡免费高清视频| 亚洲免费在线视频| 热99re久久免费视精品频软件| 三年片免费观看大全国语| 亚洲国产模特在线播放| 亚洲国产成人久久精品99| 7m凹凸精品分类大全免费| 老湿机一区午夜精品免费福利|