在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):

pass

def 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 = 0x0

for 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_id

def 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 RiskEventData

def 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

python可以做哪些小工具_python的简单实用小工具相关推荐

  1. python可以做鲁棒优化吗_XPROG: 简单实用的鲁棒优化(RO, DRO)编程语言

    此文简单介绍AROMA的1.0版本:XProg.希望可以帮做鲁棒优化相关的同行们省去手动求对偶和Robust Counterpart,然后吭哧吭哧编程的麻烦. 本文将简单介绍XProg(内容主要来自X ...

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

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

  3. 弹性地基梁板的计算理论_造价人常用小帮手:30个实用小软件+44套计算表,绝对实用...

    造价人常用小帮手:30个实用小软件+44套Excel计算表 做造价最怕的就是麻烦和浪费时间,所以很多干工程造价的都会使用一些辅助工具来帮助自己,网上那些工具要么不好使,要么收费! 今天给大家分享一批3 ...

  4. python读取excel表格-python读写Excel表格的实例代码(简单实用)

    安装两个库:pip install xlrd.pip install xlwt 1.python读excel--xlrd 2.python写excel--xlwt 1.读excel数据,包括日期等数据 ...

  5. 如何分析百度SEM竞价账户,简单实用小窍门

    大家很多都是SEO转到SEMer岗位的,知道SEO数据分析不仅仅需要逻辑思维能力,还需要有耐心,因为这个数据非常的多而且比较复杂,需要有耐心的人才能做下去.而SEM同样,也需要对各种数据报表做出分析, ...

  6. python可以做测试软件吗_Python如何给你的程序做性能测试

    问题 你想测试你的程序运行所花费的时间并做性能测试. 解决方案 如果你只是简单的想测试下你的程序整体花费的时间, 通常使用Unix时间函数就行了,比如: bash % time python3 som ...

  7. python三维数据转换成二维_Python科学计算全生态工具锦集

    没关注?  伸出手指点这里 AI Python目前是与科学计算结合最好的一门编程语言,包括大数据分析.机器学习.人工智能.可视化,甚至是天文学.生物学(神经科学).量子力学等等都有强大的工具包支持 P ...

  8. python怎么做自动化测试仪器经销商_Python自动化测试踩坑记录(企业中如何实施自动化测试)...

    企业中如何实施自动化测试 在我们读高中的时候, 是不是经常听老师说:学好数理化,走遍天下都不怕. 作为软件测试这个行业,在当下,你学好自动化,你去哪面试都不怕. 说是这么说,但是你想提前下班,自动化测 ...

  9. python日历小程序_python写的日历小程序

    查看: 14785|回复: 262 [作品展示] python写的日历小程序 电梯直达 发表于 2013-8-19 21:38:32 | 只看该作者 |倒序浏览 |阅读模式 马上注册,结交更多好友,享 ...

最新文章

  1. python使用matplotlib对比多个模型的在训练集上的效果并使用柱状图进行可视化:基于交叉验证的性能均值(mean)和标准差(std)进行可视化分析、使用标准差信息添加误差区间条yerr
  2. c语言行末不要输出多余空格,新人提问:如何将输出时每行最后一个空格删除...
  3. jquery ajax參数加点号状态200进error
  4. Android -- 发送Broadcast、有序无序
  5. Node Version Manager--NodeJS的多版本管理工具--轻松实现多个版本的NodeJS的管理开发
  6. loopback接口、router ID详解
  7. python 搜索功能,使用Python使用网站的搜索功能
  8. [转] Scala Try 与错误处理
  9. Java 实例变量 和 实例方法 以及调用
  10. 近日,软件项目管理高峰论坛成功召开,项目管理平台发布正式亮相……
  11. Hive exited with status 1
  12. 【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)
  13. Pytorch学习记录(七):自定义模型 Auto-Encoders 使用numpy实现BP神经网络
  14. 985毕业,工作3年,分享从阿里辞职到了国企的一路辛酸和经验
  15. 给出一个数字求出它的个位、十分位、百分位、千分位、万分位........
  16. SeleniumChrome实战:动态爬取51job招聘信息
  17. 微信聊天内容可以被监听吗?
  18. linux操作系统第二版张玲课后答案,Linux操作系统(基础原理与应用第2版高等学校计算机专业规划教材)...
  19. 2022低压电工国家题库及模拟考试
  20. 局域网监控软件的功能分析1

热门文章

  1. Java精品项目源码第94期房屋租赁管理系统
  2. 建模simulink - xpc自定义模块设置
  3. 小米手机部和平台部组织调整 前者设参谋部、触控部
  4. Google Maps Download Tool 谷歌地图下载工具
  5. Java 火车票订票系统
  6. maskrcnn_benchmark代码分析(2)
  7. [整站源码]thinkphp古筝古琴书画培训类网站模板+前后端源码
  8. 扩展无线网络(WDS桥接功能)
  9. 2020年小红书直播报告
  10. 小红书数据分析在哪看?小红书品牌,如何拥抱Z世代?