当前标签 / Python / 总共6篇

Python 最佳实践

本书籍初衷是为了整理我平时所写的一些 python 脚本,其实本人不是什么 python 专家,大多数情况都是边搜边实现,既然这里计划整理出这一部分知识,索性后面就做一个全面的 python 知识点梳理归纳和常用的 python 工具实现。本人认为无论你现在研究的或者擅长的是何种计算机语言, python 对你来说都很有用很有帮助,它可以帮你自动化的完成一些繁琐的事情。

作者在写作和整理过程中花费了大量时间和精力,另外服务器费用也是一笔不小的开支,如果你觉得我的文章和书籍对你有所帮助,可以请我喝杯咖啡或者农夫山泉:

如果在阅读过程中有任何疑问,可以去作者博客对应页面留言, 你也可以从我的体系树中找到对应文章。

阅读更多

Hexo使用PythonSDK整站静态发布七牛云

前言

最近因GitLab的国内访问速度问题将本站静态化到了七牛云存储,但是带来的问题也是很明显的。之前在GitLab使用Page来发布工程只需要提交代码即可,会自动静态化并部署项目,于是乎我就想让静态化并同步到七牛对象存储自动化一些,这也是这篇文章的初衷。

其实在用Python做自动同步之前,我使用的官方提供的一个Window上面的同步工具QSunSync,但是使用起来也不是很方便,最主要的原因是不太符合我整站同步的需求,而且速度极慢。

Python SDK

官网为我们提供了基础的对象存储操作SDK, 点击查看

安装Python SDK

pip install qiniu

整个同步过程如下:

  1. 拉取七牛云文件列表。
  2. 获取本地文件列表。
  3. 对比远程文件是否有增量(多余的),进行删除。
  4. 对比本地文件是否有增量(新增的)或者有变化(hash不同),进行上传。

阅读更多

Python实现的图片压缩处理工具

前言

最近在博客中做了一个相册功能,但是问题是我的图片都很大,用图片压缩工具压缩了一遍感觉不是很方便,于是就搜了一下python相关工具,后来发现知乎上的一篇文章《如何用Python智能批量压缩图片》,这里感谢作者提供了思路,短短几行代码实现了图片压缩需求。

最后添加了图片水印功能,可以方便配置图片路径来实现压缩和水印添加,本来打算使用Tkinter来实现一个图片界面方便操作,后来想想还是把精力放在核心逻辑上面吧,其实使用图形界面不见的就很方便,这样修改配置其实更方便些,如果你想实现成图形界面可参考我的另一篇博文《Python两个案例练习》

知识点

内置模块和第三方模块

在python中,一个.py文件就可以理解为一个模块,模块之间可以互相引用。

模块分为三种:自己写的、内置的、第三方的。

内置模块一般存放在安装目录的lib目录下,第三方库一般存放在安装目录的lib\site-packages目录下。第三方库使用前需要提前安装,例如Python操作图像的模块PIL需要提前安装。

阅读更多

Python做Hexo博客编辑和发布工具

这几天发生了一些意外,我的固态硬盘奇迹般的坏了,上周四倒腾了一天最终还是丢失了很多文件和我之前写的很多工具脚步,后来又忍痛买了一个新的固态盘。这件事让我对文件备份有了新的认识,也是通过这件事我琢磨准备做一个博客自动备份、编辑和发布的工具。

这个是我做的一个雏形,基本上已经能满足我大部分需求了,但是还不足以让大家使用,我慢慢抽时间修改和迭代吧,中间还有一些技术问题现在还未解决。

阅读更多

Python图形界面Tkinter的使用详解

本文参考自莫烦python视频:https://morvanzhou.github.io/tutorials/python-basic/tkinter/

导入模块

import Tkinter  #注意python 3.0改为了tkinter

或者直接这样导入

from TKinter import *

最简单的界面

注意我的python版本是:2.7.15

#!/usr/bin/python
# -*- coding: UTF-8 -*-

from Tkinter import *

top = Tk()
top.mainloop()

Label和Button

#!/usr/bin/python
# -*- coding: UTF-8 -*-

#3.0版本请使用 import tkinter as tk
import Tkinter as tk

window = tk.Tk() 
window.title('我的窗口')  #添加标题
window.geometry('400x200')  #设置window大小

v = tk.StringVar(None, 'i am a label', None)  #文字变量存储器

#width=15表示15个字符宽度,heiht=2表示2个字符高度,如果直接设置文本可以用text='labeltext'
lable = tk.Label(window, textvariable=v, bg='green', font=('Arial', 12), width=20, height=2)
lable.pack()

on_hit = False
def click_me():  #按钮点击处理方法
    global on_hit
    if on_hit == False:
        on_hit = True
        v.set('clicked you ...')
    else:
        on_hit = False
        v.set('')

button = tk.Button(window, text="click me", width=15, height=2, command=click_me)
button.pack()

window.mainloop()

阅读更多