Validus
A dead simple Python data validation library. 项目地址:https://github.com/shopnilsazal/validus/
环境要求
Python 3.3+
安装
pip install validus
用法
>>> import validus as check
>>> check.isemail('someone@example.com')
True
>>> check.isascii('1234abcDEF')
True
>>> check.isascii('foobar')
False
>>> check.isint('-2147483648')
True
>>> check.isint('123.123')…
Read More
实例 1:
通过 db_config.json 加载数据库配置; 常规的增删改查进行封装
代码
连库配置: db_config.json
{
"host": "192.168.7.251",
"user": "root",
"password": "123456",
"db": "mars",
"charset": "utf8",
"port": 3306
}
封装工具类: mysqlutils.py
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# author: xu3352<xu3352@gmail.com>
# python3 环境…
Read More
什么是 PyMySQL?
PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。
PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。
项目地址:PyMySQL
安装要求:
Python — 以下满足任一:
CPython : 2.7 and >= 3.5
PyPy : Latest version
MySQL Server –以下满足任一:
MySQL >= 5.5…
Read More
pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点、单步调试、进入函数调试、查看当前代码、查看栈片段、动态改变变量的值等。
如果你还主要靠print来调试代码,那值得花10分钟试试pdb这个Python自带的Debug工具。
PDB有3种用法:
非侵入式方法(不用额外修改源代码,在命令行下直接运行就能调试)
python3 -m pdb filename.py
Python交互环境中启用
>>> import pdb
>>> import mymodule
>>> pdb.run('mymodule.test()')
侵入式方法(需要在被调试的代码中添加一行代码然后再正常运行代码)
import pdb
pdb.set_trace()
当你在命令行看到下面这个提示符时,说明已经正确打开了pdb
(Pdb)
然后就可以开始输入pdb命令了,下面是pdb的常用命令
QuickStart
待调试的代码内容
文件名:test.py:
# coding:utf-8
import pdb
s1 =…
Read More
chrome 浏览器是必备!
去 chrome web store 安装 Tampermonkey
视频教学安装方法:
安装VIP视频在线解析破解去广告(全网)2018.11.13更新可用,点击 这里 安装支持优酷vip,爱奇艺vip,腾讯vip,乐视vip,芒果vip,acfun,bilibili,土豆vip,音悦台,1905等vip资源的解析点击安装按钮即可,打开vip视频网站 ,会有如下提示:
或者可以直接去他们的 解析网站,粘贴视频地址,选择入口,点击解析按钮!
如果无效,请多尝试一下其他接口!
安装解除版权限制的插件:unblock youku
支持优酷,爱奇艺,腾讯,乐视,芒果,acfun,bilibili,土豆,音悦台,1905等vip资源的解析
本文:2019.01.08更新可用:VIP视频在线解析破解去广告(全网)+ 解除版权限制…
Read More
方法一:简单,单一
Paypal.php
<?php
class Paypal
{
/**
* API Version
*/
const VERSION = 51.0;
/**
* List of valid API environments
* @var array
*/
private
用户组和权限管理
概念
用户分为三类:
1、超级用户:root uid=0,简单来说uid为0的用户就是超级用户。
2、虚拟用户:存在linux中,满足文件或者程序运行的需要,而创建的。不能登录,不能使用。uid=1-499,1-999(centos7)
3、普通用户:管理员root创建的用户。uid=500+,1000+(centos7)
用户组就是具有相同特征的用户的集合。一个组可以包含多个用户,每个用户也可以属于不同的组。用户组的目的方便管理员对用户进行集中管理。用户组也分为两类:系统组和普通组。
用户和用户组的关系:
一对一:一个用户存在一个组,也可以是组中唯一成员
一对多:一个用户属于多个组,只有一个主组,其余为附加组
多对一:多个用户存在于一个组
多对多:多个用户可以存在多个组
下图中每一个方框代表一个组,每个图代表一个用户,可以方便我们理解用户和组的关系。
用户及用户组配置文件介绍
/etc/passwd 用户及其属性信息
我们可以使用cat命令查看配置文件,下图截取了一部分。
第一列(以冒号为分隔符):用户名
第二列:密码位
第三列:UID号 CentOS6 1-499为系统用户,预留;CentOS7 1-999为系统用户,预留
第四列:GID号 主组和辅助组
第五列:用户全名或注释
第六列:用户的家 (home) 目录
第七列:用户默认的shell类型
/etc/group 组及其属性信息
第一列:组名称
第二列:组密码,通常不需要设定
第三列:GID CentOS6 1-499为系统组,预留;CentOS7…
Read More
tree命令,主要功能是创建文件列表,将所有文件以树的形式列出来
linux下的tree就比较强大了,但一般系统并不自带这个命令,需要手动下载安装,
安装
sudo apt install tree
## or using yum
# yum -y install tree
语法
tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式>][目录...]
参数说明:
-a 显示所有文件和目录。
-A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。
-C 在文件和目录清单加上色彩,便于区分各种类型。
-d 显示目录名称而非内容。
-D 列出文件或目录的更改时间。
-f 在每个文件或目录之前,显示完整的相对路径名称。
-F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上”*”,”/”,”=”,”@”,”|”号。
-g…
Read More
安装 python 的paypal的库:
https://github.com/paypal/PayPal-Python-SDK
要求: Python 2.6 or 2.7 +
安装:
pip install paypal
## or easy_install:
# easy_install paypal
## or download the source, un-tar/un-zip it, cd into paypal-python, and:
# python setup.py install
申请 NVP/SOAP 开发账户…
Read More
composer是什么
Composer 不是一个包管理器。是的,它涉及 “packages” 和 “libraries”,但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。
Composer 受到了 node’s npm 和 ruby’s bundler 的强烈启发。而当时 PHP 下并没有类似的工具。
composer可以做什么
Composer 将这样为你解决问题:
你有一个项目依赖于若干个库。
其中一些库依赖于其他库。
你声明你所依赖的东西。
Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。
系统学习composer的使用请移步 composer中文学习
开发自己的composer组件
要点:理解composer如何实现自动加载第三方组件; 理解psr-0和psr-4的规范; 理解基于psr-0,psr-4,classmap,files如何实现自动加载。 理解Composer和Packagist
关于安装和使用composer请参考composer中文学习
创建目录名称
mkdir try-make-package
cd try-make-package…
Read More
memcache是高性能,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。据说官方所说,其用户包括twitter、digg、flickr等,都是些互联网大腕呀。目前用memcache解决互联网上的大用户读取是非常流行的一种用法。
更多可以参考:
PHP: Memcached安装, Memcache/Memcached的PHP操作手册, Memcached使用, Memcached教程
Memcached数据库管理, 基于Web的Memcached管理工具:phpMemAdmin
在PHP中使用memcached提高动态网站性能, memcached, memcache, memcached数据库缓存类
安装
sudo apt-get install memcached
启动memcache服务
memcached -d -m 128 -p 11111 -u root
启动方式:
-d 以守护程序(daemon)方式运行
-u root 指定用户,如果当前为root ,需要使用此参数指定用户
-P /tmp/a.pid保存PID到指定文件
内存设置:
-m…
Read More
什么是异常?
异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。
一般情况下,在Python无法正常处理程序时就会发生一个异常。
异常是Python对象,表示一个错误。
当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。
获取error错误异常名字的实例:
try:
someFunction()
except Exception as ex:
template = "An exception of type {0} occurred. Arguments:\n{1!r}"
message = template.format(type(ex).__name__, ex.args)
print(message)
异常处理
捕捉异常可以使用try/except语句。
try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。
如果你不想在异常发生时结束你的程序,只需在try里捕获它。
语法:
以下为简单的try….except…else的语法:
try:
<语句> #运行别的代码
except <名字>:
<语句> #如果在try部份引发了'name'异常
except…
Read More
JSON,全称为JavaScript Object Notation, 也就是JavaScript对象标记,它通过对象和数组的组合来表示数据,构造简洁但是结构化程度非常高,是一种轻量级的数据交换格式。本节中,我们就来了解如何利用Python保存数据到JSON文件。
json 模块提供了一种很简单的方式来编码和解码JSON数据。 其中两个主要的函数是 json.dumps() 和 json.loads(), 要比其他序列化函数库如pickle的接口少得多。 下面演示如何将一个Python数据结构转换为JSON:
import json
data = {
'name' : 'ACME',
'shares' : 100,
'price' : 542.23
}
json_str = json.dumps(data)
下面演示如何将一个JSON编码的字符串转换回一个Python数据结构:
data = json.loads(json_str)
如果你要处理的是文件而不是字符串,你可以使用 json.dump() 和 json.load() 来编码和解码JSON数据。例如:
#…
Read More
读写文件是最常见的 IO 操作。通常,我们使用 input 从控制台读取输入,使用 print 将内容输出到控制台。实际上,我们也经常从文件读取输入,将内容写到文件。
读文件
在 Python 中,读文件主要分为三个步骤:
打开文件
读取内容
关闭文件
一般使用形式如下:
try:
f = open('/path/to/file', 'r') # 打开文件
data = f.read() # 读取文件内容
finally:
if f: