python实现自动上传图片_python 实现图片自动上传七牛返回地址
python 實(shí)現(xiàn)圖片自動(dòng)上傳七牛返回地址
使用markdown編寫文件,圖片插入一直不太方便,有些markdown編輯器實(shí)現(xiàn)的圖片插入并且自動(dòng)上傳的功能,但是大多要收費(fèi),免費(fèi)的又存在各種限制,不能自定義圖床,不夠靈活等,本文利用Python這一靈活的腳本語(yǔ)言實(shí)現(xiàn)圖片自動(dòng)上傳功能并返回圖片的云端地址。(采用的圖片服務(wù)器為七牛)
安裝python依賴
pip install qiniu
pip install pillow
pip install pypiwin32
配置CameraDll.dll
下載CameraDll.dll以及注冊(cè).bat,雙擊注冊(cè).bat ,將其加入到系統(tǒng)環(huán)境中
下載地址
編寫python腳本
#!/usr/bin/env python
# coding=gb2312
# 此模塊主要提供抓圖功能,支持以下三種抓圖方式:
# 快捷鍵 自定義 ctrl + alt + z
# ********************************************
import ctypes
import ctypes.wintypes
import os
import uuid
import win32con
import win32clipboard as w
import wx
from PIL import ImageGrab
from qiniu import Auth, put_file
def capture_choose_windows():
# 利用QQ截圖的DLL完成截圖功能(借鑒)
try:
# 加載QQ抓圖使用的dll
dll_handle = ctypes.cdll.LoadLibrary('CameraDll.dll')
except Exception:
try:
# 如果dll加載失敗,則換種方法使用,直接運(yùn)行,如果還失敗,退出
os.system("Rundll32.exe CameraDll.dll, CameraSubArea")
except Exception:
return
else:
try:
# 加載dll成功,則調(diào)用抓圖函數(shù),注:沒(méi)有分析清楚這個(gè)函數(shù)帶的參數(shù)個(gè)數(shù)
# 及類型,所以此語(yǔ)句執(zhí)行后會(huì)報(bào)參數(shù)缺少4個(gè)字節(jié),但不影響抓圖功能,所
# 以直接忽略了些異常
dll_handle.CameraSubArea(0)
except Exception:
im = ImageGrab.grabclipboard()
key = str(uuid.uuid4())
save_pic(im, key + '.png')
return
# 使用文件對(duì)框,保存圖片
def save_pic(pic, filename='未命令圖片.png'):
app = wx.App()
wildcard = "PNG(*.png)|*.png"
dialog = wx.FileDialog(None, "Select a place", os.getcwd(),
filename, wildcard)
if dialog.ShowModal() == wx.ID_OK:
pic.save(dialog.GetPath().encode('gb2312'))
upload_pic(filename, dialog.GetPath().encode('gb2312'))
else:
pass
dialog.Destroy()
def upload_pic(key, path):
access_key = '****************************************'
secret_key = '****************************************'
q = Auth(access_key, secret_key)
bucket_name = 'myimage'
token = q.upload_token(bucket_name, key, 3600)
ret, info = put_file(token, key, path)
if info.status_code == 200:
w.OpenClipboard()
w.EmptyClipboard()
w.SetClipboardData(win32con.CF_TEXT, '+')')
w.CloseClipboard()
if __name__ == "__main__":
capture_choose_windows()
編寫bat腳本自動(dòng)運(yùn)行python文件
@echo off
D:
cd D:\python
start pythonw test.py
exit
保存為upPic.bat,右鍵發(fā)送桌面快捷方式
給快捷方式設(shè)置快捷鍵
總結(jié)
以上是生活随笔為你收集整理的python实现自动上传图片_python 实现图片自动上传七牛返回地址的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 个人独资公司税收标准
- 下一篇: 基于kinect + EmguCV 的监