python可以做哪些小工具_python的简单实用小工具
在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的简单实用小工具相关推荐
- python可以做鲁棒优化吗_XPROG: 简单实用的鲁棒优化(RO, DRO)编程语言
此文简单介绍AROMA的1.0版本:XProg.希望可以帮做鲁棒优化相关的同行们省去手动求对偶和Robust Counterpart,然后吭哧吭哧编程的麻烦. 本文将简单介绍XProg(内容主要来自X ...
- python最简单的语言_Python语言的简单实用小工具
本文主要向大家介绍了Python语言的简单实用小工具,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 在python进行自动化编写的过程中,常常需要造一些数据,比如,获取随机的合法 ...
- 弹性地基梁板的计算理论_造价人常用小帮手:30个实用小软件+44套计算表,绝对实用...
造价人常用小帮手:30个实用小软件+44套Excel计算表 做造价最怕的就是麻烦和浪费时间,所以很多干工程造价的都会使用一些辅助工具来帮助自己,网上那些工具要么不好使,要么收费! 今天给大家分享一批3 ...
- python读取excel表格-python读写Excel表格的实例代码(简单实用)
安装两个库:pip install xlrd.pip install xlwt 1.python读excel--xlrd 2.python写excel--xlwt 1.读excel数据,包括日期等数据 ...
- 如何分析百度SEM竞价账户,简单实用小窍门
大家很多都是SEO转到SEMer岗位的,知道SEO数据分析不仅仅需要逻辑思维能力,还需要有耐心,因为这个数据非常的多而且比较复杂,需要有耐心的人才能做下去.而SEM同样,也需要对各种数据报表做出分析, ...
- python可以做测试软件吗_Python如何给你的程序做性能测试
问题 你想测试你的程序运行所花费的时间并做性能测试. 解决方案 如果你只是简单的想测试下你的程序整体花费的时间, 通常使用Unix时间函数就行了,比如: bash % time python3 som ...
- python三维数据转换成二维_Python科学计算全生态工具锦集
没关注? 伸出手指点这里 AI Python目前是与科学计算结合最好的一门编程语言,包括大数据分析.机器学习.人工智能.可视化,甚至是天文学.生物学(神经科学).量子力学等等都有强大的工具包支持 P ...
- python怎么做自动化测试仪器经销商_Python自动化测试踩坑记录(企业中如何实施自动化测试)...
企业中如何实施自动化测试 在我们读高中的时候, 是不是经常听老师说:学好数理化,走遍天下都不怕. 作为软件测试这个行业,在当下,你学好自动化,你去哪面试都不怕. 说是这么说,但是你想提前下班,自动化测 ...
- python日历小程序_python写的日历小程序
查看: 14785|回复: 262 [作品展示] python写的日历小程序 电梯直达 发表于 2013-8-19 21:38:32 | 只看该作者 |倒序浏览 |阅读模式 马上注册,结交更多好友,享 ...
最新文章
- python使用matplotlib对比多个模型的在训练集上的效果并使用柱状图进行可视化:基于交叉验证的性能均值(mean)和标准差(std)进行可视化分析、使用标准差信息添加误差区间条yerr
- c语言行末不要输出多余空格,新人提问:如何将输出时每行最后一个空格删除...
- jquery ajax參数加点号状态200进error
- Android -- 发送Broadcast、有序无序
- Node Version Manager--NodeJS的多版本管理工具--轻松实现多个版本的NodeJS的管理开发
- loopback接口、router ID详解
- python 搜索功能,使用Python使用网站的搜索功能
- [转] Scala Try 与错误处理
- Java 实例变量 和 实例方法 以及调用
- 近日,软件项目管理高峰论坛成功召开,项目管理平台发布正式亮相……
- Hive exited with status 1
- 【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)
- Pytorch学习记录(七):自定义模型 Auto-Encoders 使用numpy实现BP神经网络
- 985毕业,工作3年,分享从阿里辞职到了国企的一路辛酸和经验
- 给出一个数字求出它的个位、十分位、百分位、千分位、万分位........
- SeleniumChrome实战:动态爬取51job招聘信息
- 微信聊天内容可以被监听吗?
- linux操作系统第二版张玲课后答案,Linux操作系统(基础原理与应用第2版高等学校计算机专业规划教材)...
- 2022低压电工国家题库及模拟考试
- 局域网监控软件的功能分析1