一、客户端程序组织
编写客户端,不能一个py脚本包打天下,要有组织有目的,通常我们会采取下面的结构:
在Pycharm中,项目根目录下,创建一个Client目录,作为客户端的根目录。
在Client下,创建下面的包。注意是包,不是文件夹:
bin:客户端启动脚本的所在目录
conf:配置文件目录
core:核心代码目录
log:日志文件目录
plugins:插件或工具目录
二、开发数据收集客户端
1.程序入口脚本
在bin目录中新建main.py文件,写入下面的代码:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
完全可以把客户端信息收集脚本做成windows和linux两个不同的版本。
"""
import os
import sys
BASE_DIR = os.path.dirname(os.getcwd())
# 设置工作目录,使得包和模块能够正常导入
sys.path.append(BASE_DIR)
from core import handler
if __name__ == '__main__':
handler.ArgvHandler(sys.argv)
在pycharm中可能出现导入失败的红色波浪线警告信息,其实是可以导入的,请忽略它。
通过os和sys模块的配合,将当前客户端所在目录设置为工作目录,如果不这么做,会无法导入其它模块;
handler模块是核心代码模块,在core目录中,我们一会来实现它。
以后调用客户端就只需要执行python main.py 参数就可以了
这里有个问题一定要强调一下,那就是Python解释器的调用,执行命令的方式和代码第一行#!/usr/bin/env python的指定方式一定不能冲突,要根据你的实际情况实际操作和修改代码!
2.主功能模块
在core下,创建handler.py文件,写入下面的代码:</