Shawn's Blog

一个伪程序员的伪技术博客

0X00 *args是什么

我们知道Python3中的print从一个关键字变成了一个函数,那么调用的时候我们可以这样调用这个函数,可以随便接受几个参数。

1
2
3
4
5
6
>>> print(1)
1
>>> print(1, 2, 3)
1 2 3
>>> print(1, "hello", 6.66)
1 hello 6.66

那么如果我们想自己实现类似这样‘变态’的函数该怎么实现呢?这就需要用到*args了,可以将一个非键值对的可变数量的参数列表传给一个函数(换个书佛啊:可以传n个参数给函数,而且n不是固定的),举个例子就容易理解多了。

1
2
3
4
5
6
7
8
9
def say_something(*args):
for i in args:
print i
print '--------'

say_something(1)
say_something(1, 2, 3)
say_something('hello')
say_something('hello', 'world')

运行这个例子的输出就是这样的

1
2
3
4
5
6
7
8
9
10
11
1
--------
1
2
3
--------
hello
--------
hello
world
--------
阅读全文 »

0X00 安装环境

我们在Python开发和学习过程中需要用到各种库,然后在各个不同的项目和作品里可能用的版本还不一样,正因为有这种问题的存在才催生了virtualenv的诞生。virtualenv可以在电脑上创建一个虚拟环境,可以针对每一个项目创建一个虚拟环境,这样就不用担心各个不同的项目用不同版本的库的时候出现的冲突了。 ** 下面的内容只适用于Linux/OSX,未经Windows环境测试 **

要使用这个功能还是需要安装,安装virtualenv肯定就得直接用pip安装了,pip install virtualenv就可以轻松装上了。装好之后我们就可以来测试一波了。

阅读全文 »

内容参考自python - 操作RabbitMQ

0X00 安装环境

首先是在Linux上安装rabbitmq

1
2
3
4
5
# 环境为CentOS 7
yum install rabbitmq-server # 安装RabbitMQ
systemctl start rabbitmq-server # 启动
systemctl enable rabbitmq-server # 开机自启
systemctl stop firewall-cmd # 临时关闭防火墙

然后用pip安装Python3的开发包

1
pip3 install pika

安装好软件之后可以访问http://115.xx.xx.xx:15672/来访问自带的web页面来查看和管理RabbitMQ。默认管理员的用户密码都是guest

阅读全文 »

0X00 什么是REST风格的API

众所周知http协议有GET/PUT/POST/PATCH/DELETE等众多方法,还能在提交请求和发送响应的时候携带数据。REST风格的API就是使用了这些HTTP特性的API。针对一个URL可以有多种动词(方法)来表示不同的操作。
更多详细的内容可以点击查看阮一峰的博客:理解RESTful架构

阅读全文 »

在写一些系统脚本或者自动化运维脚本的时候经常会用到os库,这里做个整理,方便查找

os.sep

获得当前操作系统使用的目录分隔符,比如Windows就会得到\而Linux/Unix就会得到/

os.name

获得当前使用的操作系统,Windows是NT内核,所以会得到nt,而Linux/Unix用户则会得到posix

os.getcwd()

获得当前工作目录,即当前Python脚本工作的目录路径。

os.getenv()

用来获得环境变量
os.getenv('PATH')

阅读全文 »
0%