经常使用有道云笔记的MarkDown功能来写文章或者记录日志难免会向文章中插入图片,可是有道云笔记的这功能是收费的,因此用python开发一个GUI小工具可以可以帮我把图片上传到七牛cdn,然后我就可以把这图片插入到markdown中。

原文链接:http://xiaoqiangge.com/aritcle/1538974186596.html

效果图如下:

这小程序是基于tkinter开发,在python2.7上测试通过,首先需要安装python2-tkinter,如果机器上已经安装了tkinter可以忽略,如下:

yum -y install python2-tkinter.x86_64

下面是主程序代码,如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-'''
上传参考:https://www.cnblogs.com/liwenchi/p/7290283.html
模拟键盘复制、剪切:https://zhidao.baidu.com/question/500622172439661004.html
'''
import time
import json
import hashlib
import os.path
from qiniu import Auth, put_file, etag
import qiniu.config
from Tkinter import *
import tkFileDialog as filedialog############################################################需要填写你的 Access Key 和 Secret Key
access_key = 'xxxxx'
secret_key = 'yyyy'
#需要填写CDN服务域名URL,
cdn_url = 'http://xxx.xxx.com/'
#要上传的空间
bucket_name = 'xxxx'
#构建鉴权对象
q = Auth(access_key, secret_key)############################################################
def copy(event=None):resultText.select_range(0,END)# print 'copy'resultText.event_generate("<<Copy>>")
def upload():filePath = browseText.get()# print filePathextension = file_extension(filePath)# print extensionfileName = int(time.time())# print fileName# #上传到七牛后保存的文件名key = str(fileName)+extension# print key# #生成上传 Token,可以指定过期时间等token = q.upload_token(bucket_name, key, 3600)# print tokenret, info = put_file(token, key, filePath)# print info.text_bodyresult = cdn_url + json.loads(info.text_body)['key']resultText.delete(0, END)resultText.insert(0, result)def file_extension(filePath):return os.path.splitext(filePath)[1]def browse():filePath = filedialog.askopenfilename(title='选择图片')browseText.delete(0, END)browseText.insert(0, filePath)# 初始化Tk()
myWindow = Tk()
# 设置标题
myWindow.title('七牛云图片上传小工具')
# 设置窗口大小
width = 750
height = 200
# 获取屏幕尺寸以计算布局参数,使窗口居屏幕中央
screenwidth = myWindow.winfo_screenwidth()
screenheight = myWindow.winfo_screenheight()
alignstr = '%dx%d+%d+%d' % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2)
myWindow.geometry(alignstr)
# 设置窗口是否可变长、宽,True:可变,False:不可变
myWindow.resizable(width=False, height=False)frame_root = Frame(myWindow)
frame_root.pack(pady = 10)frame_r1 = Frame(frame_root)
frame_r2 = Frame(frame_root)
frame_r1.pack()
frame_r2.pack(side = LEFT, pady = 10)frame_r1_c1 = Frame(frame_r1)
frame_r1_c2 = Frame(frame_r1)
frame_r1_c3 = Frame(frame_r1)
frame_r1_c4 = Frame(frame_r1)
frame_r1_c1.pack(side = LEFT)
frame_r1_c2.pack(side = LEFT)
frame_r1_c3.pack(side = LEFT)
frame_r1_c4.pack(side = LEFT)frame_r2_c1 = Frame(frame_r2)
frame_r2_c2 = Frame(frame_r2)
frame_r2_c3 = Frame(frame_r2)
frame_r2_c1.pack(side = LEFT)
frame_r2_c2.pack(side = LEFT)
frame_r2_c3.pack(side = LEFT)Label(frame_r1_c1, text = '上传文件:').pack()
browseText = Entry(frame_r1_c2, width = 70)
browseText.pack()
Button(frame_r1_c3, text = '浏览...', command = browse).pack()
Button(frame_r1_c4, text = '上传图片', command = upload).pack()Label(frame_r2_c1, text = '上传结果:').pack()
resultText = Entry(frame_r2_c2, width = 70)
resultText.pack()
Button(frame_r2_c3, text = '一键复制', command = copy).pack()myWindow.mainloop()

最后通过python命令启动即可。

完。

原文链接:http://xiaoqiangge.com/aritcle/1538974186596.html

如有疑问扫描下面微信二维码添加好友

使用Python实现一个七牛GUI小程序客户端相关推荐

  1. python软件代码示例-用Python写一个模拟qq聊天小程序的代码实例

    Python 超简单的聊天程序 客户端: import socket, sys host = '10.248.27.23' # host = raw_input("Plz imput des ...

  2. 能不能用python开发qq_用Python写一个模拟qq聊天小程序的代码实例

    用Python写一个模拟qq聊天小程序的代码实例 发布时间:2020-09-09 07:49:29

  3. 用Python写一个模拟qq聊天小程序的代码实例

    前言 今天小编就为大家分享一篇关于用Python写一个模拟qq聊天小程序的代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧 Python 超简单的聊天 ...

  4. python美元汇率兑换程序代码_还可以这样玩?用Python完成一个在线汇率转换小程序...

    原标题:还可以这样玩?用Python完成一个在线汇率转换小程序 大家好,小数在这里给大家拜个早年啦 今天给大家分享的是用Python完成一个在线汇率转换小程序,是基于一个持续更新的汇率网站实现的,让我 ...

  5. 用python编写一个处理报文的小程序

    最近用python编写了一个处理报文的小程序,最后保存成.txt格式. 主要内容非常简单,介绍如下: 1.报文内容如下所示,比较乱,因为要输入到matalab中进行仿真验证,因此,需要将里面的'\n' ...

  6. 用python编写一个掷骰子的小程序

    摘要: 编写了一个掷骰子的程序,主要通过pygame模块实现了以下几点功能:1.每次点击开始键时,骰子都会转动起来.2.每次开始后点击停止键时,骰子停止并且随机停在1-6的某一个数字上.3.按下结束键 ...

  7. 如何从零开始整一个高颜值 GitHub 小程序客户端?

    前言 可能一进来大部分人都会觉得,为什么还会有人重复造轮子,GitHub 第三方客户端都已经烂大街啦.确实,一开始我自己也是这么觉得的,也问过自己是否真的有意义再去做这样一个项目.思考再三,以下原因也 ...

  8. 用python编写一个猜年龄的小程序-用Python来写一个男女相亲小程序|码农的情人节...

    功能: 你输入你的性别,年龄,生日,我程序就给匹配一下你喜欢的类型,下面我们具体来讲讲怎么用Python写 第一部分:用户输入部分 1.获取用户的输入:我们用raw_input() args =raw ...

  9. 用python编写一个猜年龄的小程序-知道了这个,你也能写出 Python 趣味小程序

    原标题:知道了这个,你也能写出 Python 趣味小程序 前两天在 51CTO 看见某篇推荐博文,大概是一个 豆子比较感兴趣,在知乎和 github 上搜索了相关的源代码,发现原来实现起来非常的简单, ...

最新文章

  1. javascript工具类(util)-持续更新
  2. 皮一皮:华夏之大,无奇不有...
  3. sql查询两张表的并集union和union all
  4. ETPS英文文本处理软件
  5. 深入理解java的泛型
  6. 转行前端很迷茫,该怎么办?
  7. SpringBoot启动后启动内嵌浏览器
  8. fcm基本原理_fcm聚类算法原理及应用
  9. Android手机游戏开发入门教程
  10. 从零开始搭建react项目(一)
  11. cd linux menu.lst,怎么把cdlinux做成u盘启动?u盘启动cdlinux制作准备工具方法
  12. Python+Appium从安装到第一个小练习(保姆级别教程)
  13. ABAP中的CHECK,EXIT,RETURN,LEAVE PROGRAM.
  14. 微信小程序学习之路(一)
  15. k8s 本地镜像快速部署亲和性
  16. bcd 增加 引导linux系统 mac os x 系统,系统引导维护工具 EasyBCD 2.4.0.237 中文多语免费版...
  17. 音源分享:Spectrasonics Trilian贝司 优化整合版下载
  18. 关于音响系统参数测试的主要参数之二: Frequency Response(频率响应范围)
  19. 为什么选择Simscape Multibody来仿真
  20. 【阅读笔记】End-to-End Learning for RIS-Aided Communication Systems

热门文章

  1. 4399架构师曹政:谈谈学习与沟通
  2. 爱美客二次上市,梦幻的泡沫会破吗?
  3. 申报成功后怎样修改_国税月报表网上成功申报后怎么修改啊,步骤是什么
  4. Python之旅 — 第一个Python程序
  5. 哪种耳机不损伤听力、佩戴不入耳的骨传导蓝牙耳机
  6. 【干货】微信小程序之自动化技术
  7. SpringBoot项目启动后网页显示【Please sign in】的解决办法
  8. DMA技术和及其SG模式
  9. 计算机二级知识点汇总
  10. 紫外传感器用于电路板电火花监测