在python进行自动化编写的过程中,常常需要造一些数据,比如,获取随机的合法IP,随机的字符串,当前的时间等,下面的一些方法应该可以用到,希望对你有所帮助

#!/user/bin/env python
#coding=utf-8

import random
import socket
import string
import struct
import os
import datetime
import copy
import time
from framework.logger import Logger
logger = Logger(logger="rcpUtils").getlog()

BASE_DIR = os.path.dirname(os.path.dirname(file))
DC_PATH = BASE_DIR + r"\config\districtcode.txt"

visaPrefixList = [
['4', '5', '3', '9'],
['4', '5', '5', '6'],
['4', '9', '1', '6'],
['4', '5', '3', '2'],
['4', '9', '2', '9'],
['4', '0', '2', '4', '0', '0', '7', '1'],
['4', '4', '8', '6'],
['4', '7', '1', '6'],
['4']]
mastercardPrefixList = [
['5', '1'], ['5', '2'], ['5', '3'], ['5', '4'], ['5', '5']]
amexPrefixList = [['3', '4'], ['3', '7']]
discoverPrefixList = [['6', '0', '1', '1']]
dinersPrefixList = [
['3', '0', '0'],
['3', '0', '1'],
['3', '0', '2'],
['3', '0', '3'],
['3', '6'],
['3', '8']]
enRoutePrefixList = [['2', '0', '1', '4'], ['2', '1', '4', '9']]
jcbPrefixList = [['3', '5']]
voyagerPrefixList = [['8', '6', '9', '9']]

MerchantNameList = ['凯总','澄邈','德泽','海超','海阳','海荣','海逸','海昌','瀚钰','瀚文','涵亮','昌盛','恨桃','依秋','依波','香巧','紫萱','涵易','忆之','幻巧','巧兰','惜蕊','雪晴','曼彤','宛秋','碧菡','若松','向秋','涵蕾','冰蝶','沛凝']
BankCardNumberlist = ['378288287735133','378271420218126','378238188701205','378207606238884','378275326032713','378258788874244','378210884152447','378224480016435','378288478747376','378232055211786']
MerchantUrlList_http = ['http://www.kaizong.com','http://www.baidu.com','http://www.jd.com','http://www.tengxun.com','http://www.alibaba.com']
MerchantUrlList_https = ['https://www.kaizong.com','https://www.baidu.com','https://www.jd.com','https://www.tengxun.com','https://www.alibaba.com']
ITList = ['441411100101148','4245245469','4245245463','4245245467','441411100101149','4245245461','441411100101146',
'4245245462','441411100101147','56214714892','111111111111','56214714890']
generator = random.Random()
generator.seed()

'''工具类'''
class rcpUtils():

def __init__(self):passdef AutoGeneratedString(self,number):'''随机生成字符串方法,主要用于输入框不能超过多少字符串的场景,此一次性产生的最大的字符串是62个'''return ''.join(random.sample(string.ascii_letters + string.digits, number))def AutoGeneratedNumber(self,number):return ''.join(random.sample(string.digits, number))def get_random_ip(self):RANDOM_IP_POOL=['192.168.10.222/0']'''随机生成合法的IP'''str_ip = RANDOM_IP_POOL[random.randint(0,len(RANDOM_IP_POOL) - 1)]str_ip_addr = str_ip.split('/')[0]str_ip_mask = str_ip.split('/')[1]ip_addr = struct.unpack('>I',socket.inet_aton(str_ip_addr))[0]mask = 0x0for i in range(31, 31 - int(str_ip_mask), -1):mask = mask | ( 1 << i)ip_addr_min = ip_addr & (mask & 0xffffffff)ip_addr_max = ip_addr | (~mask & 0xffffffff)return socket.inet_ntoa(struct.pack('>I', random.randint(ip_addr_min, ip_addr_max)))def getMerchantName(self):#先对list去重list(set(MerchantNameList))return random.sample(MerchantNameList, 1)[0]def getBankCardNumber(self):#先对list去重list(set(BankCardNumberlist))return random.sample(BankCardNumberlist, 1)[0]def getCurrentTime(self):#2017-10-26 18:28:04,日期格式return time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())def getTime(self):return time.strftime('%Y%m%d%H%M%S',time.localtime(time.time()))def getTime_YMD(self):'''获取当前的时间,年月日'''return time.strftime('%Y%m%d',time.localtime(time.time()))def getMerchantUrl_http(self):list(set(MerchantUrlList_http))return random.sample(MerchantUrlList_http, 1)[0]def getMerchantUrl_https(self):list(set(MerchantUrlList_https))return random.sample(MerchantUrlList_https, 1)[0]def getIT(self):list(set(ITList))return random.sample(ITList, 1)[0]def get_id(self,system_id,order_id):return order_id + '_' + system_iddef Cleaning_data_without_finger(self,RiskEventData):if type(RiskEventData) == dict:if RiskEventData:NoVerificationList = ['finger_id','create_time','json','create_date','process_des','process_date','alarm_flag','id','processor_name','processor_id']logger.info('不需要检查的字段为:%s'%NoVerificationList)for i in NoVerificationList:del RiskEventData[i]logger.info('做数据清洗后的数据为:%s'%RiskEventData)else:logger.exception('数据没有入库!')else:logger.exception('传进来的不是字典类型')return RiskEventDatadef Cleaning_data_with_finger(self, RiskEventData):if type(RiskEventData) == dict:if RiskEventData:NoVerificationList = ['create_time', 'json', 'create_date', 'process_des', 'process_date','alarm_flag', 'id', 'processor_name', 'processor_id']logger.info('不需要检查的字段为:%s' % NoVerificationList)for i in NoVerificationList:del RiskEventData[i]logger.info('做数据清洗后的数据为:%s' % RiskEventData)else:logger.exception('风险事件没有入库!')else:logger.exception('传进来的不是字典数据类型')return RiskEventData

转载于:https://blog.51cto.com/11565901/2050312

python的简单实用小工具(未完待续......)相关推荐

  1. python最简单的语言_Python语言的简单实用小工具

    本文主要向大家介绍了Python语言的简单实用小工具,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 在python进行自动化编写的过程中,常常需要造一些数据,比如,获取随机的合法 ...

  2. Linux下简单创建ThinkPHP 6.0的网站 - 简单前后端 (未完待续)

    步骤 ssh user@ip-of-linux cd /var/www/ mkdir xiazai.rudon.cn cd xiazai.rudon.cn/ composer create-proje ...

  3. python可以做哪些小工具_python的简单实用小工具

    在python进行自动化编写的过程中,常常需要造一些数据,比如,获取随机的合法IP,随机的字符串,当前的时间等,下面的一些方法应该可以用到,希望对你有所帮助 #!/user/bin/env pytho ...

  4. python 写入excel_实用小工具python数组快速写入excel表格

    在进行数值计算时有时会产生大量的数据,有时候需要与其他软件计算的数据进行对比,这时候将数据输出excel表格就很重要了. 借助openpyxl可以方便地输出相应的数据,精简版如下: from open ...

  5. Python 网络编程之网络协议(未完待续)

    一:网络编程从两大架构开始 1.网络开发的两大架构 c/s 架构 : client  server B/S 架构 : Brower  server (1)bs 和 cs 架构之间的关系? (2)哪一种 ...

  6. Python标准库-string模块《未完待续》

    >>> import string >>> s='hello rollen , how are you ' >>> string.capwords ...

  7. 前端实用方法记录---未完待续

    1.前端图片懒加载 掘金文章 2.微信小程序----绘制海报 CSDN 3.前端性能优化 掘金文章

  8. 实用c语言函数源码,C语言编写简单朗读小工具(有源码)

    原标题:C语言编写简单朗读小工具(有源码) 最近不少人在后台留言说学C都是面对枯燥的控制台程序,能不能体现一下C语言的实际用途,今天我们就理论结合实践一把:C语言结合VBS脚本编写一个简单的朗读小工具 ...

  9. 学习前端的实用网站——未完待续

    学习前端的实用网站--未完待续 一.学习类网站 1.视频教程 2.技术分享 3.大牛博客 4.参考手册 二.功能类网站 1.颜色 2.图标 3.字体 4.素材 三.辅助类网站 一.学习类网站 1.视频 ...

最新文章

  1. 不是我吹,20M的压缩文件我只用了1秒!
  2. 关于精密空调,你需要了解的都在这里!
  3. 计算机在供电设备中的应用,浅析计算机技术在供电系统中的应用与指导.pdf
  4. pymysql语法_如何使用PyMySQL模块进行增删改查?
  5. 【数据结构与算法】之深入解析“二叉树的最小深度”的求解思路与算法示例
  6. java top.dialog控件,java – 如何只为他的父级创建JDialog onTop?
  7. robot framework好的学习网址
  8. javaweb(09) EL表达式JSTL标签库(jsp相关,了解)
  9. 多媒体台式计算机安装方法,台式机如何组装 台式机组装注意事项【详解】
  10. 滴滴业务中台构建实践,首次曝光
  11. oracle jde优势介绍,JDE 的扫盲知识介绍。。。
  12. python中文文本分类
  13. 智能ABC输入法使用技巧
  14. assert:python断言报错语句
  15. php 公众号迁移,openid转换
  16. 熵增定律:企业和个人发展的终极规律
  17. 机器人工作空间解析分析
  18. Vue 登录验证之滑动拼图验证码
  19. python f{} 字符串用法详解(含冒号用法)
  20. 利用Python网络爬虫实现对网易云音乐歌词爬取

热门文章

  1. CentOS7安装MySQL 8.0安装
  2. 3h精通OpenCV(三)-重调大小与图像裁剪
  3. CSDN写博客图片的放大、缩小、去水印、居中
  4. linux 模拟打电话,Android 调用打电话和发短信功能
  5. hive 强转为string_Hive的条件函数与日期函数全面汇总解析
  6. 敏感性分析算法 程序_计算机程序设计艺术(TAOCP)精读笔记1 - 算法分析真正应该有的样子 Part 1...
  7. c语言file_C语言程序的编译和调试
  8. java程序设计_Java程序设计-类和对象(笔记)
  9. 正态分布的前世今生:正态魅影
  10. 光流(一)--综述概览