企业编码生成系统,包含条形码,二维码,数字
import os, time, string, random, qrcode
import tkinter
import time
from pystrich.ean13 import EAN13Encoder
from string import digits
import tkinter.filedialog
import tkinter.messagebox
from tkinter import *
root = tkinter.Tk() # tkinter模4
# 块为python的标准图形界面接口。本代码的目的是建立根窗口
# 初始化数据
number = "1234567890"
letter = "ABCDEFGHIJKLMNPQRSTUVWXYZ1234567890"
allis = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!@#$%^&*()_+"
i = 0
randstr = []
fourth = []
fifth = []
randfir = ""
randsec = ""
randthr = ""
str_one = ""
strone = ""
strtwo = ""
nextcard = ""
userput = ""
nres_letter = ""
path = ''
def mkdir(path): # 先创建文件夹
isexists = os.path.exists(path) # 查看文件夹路径是否存在
if not isexists:
os.mkdir(path)
def openfile(filename): # 读取文件内容函数
f = open(filename)
fllist = f.read()
f.close()
return fllist
def inputbox(showstr, showorder, length):
# 需要传入三个参数,第一个是input提示文字,第二个是输入内容类型分为1、2、3,第三个参数是输入位数。
instr = input(showstr)
if len(instr) != 0:
if showorder == 1:
if str.isdigit(instr): # 验证是否是数字
if instr == 0:
print("\033[1;31;40m 输入为零,请重新输入!!\033[0m")
return "0"
else:
return instr
else:
print("\033[1;31;40m 输入非法,请重新输入!!\033[0m")
return "0"
if showorder == 2:
if str.isalpha(instr): # 验证是否是字母
if len(instr) != length:
print("\033[1;31;40m 必须输入" + str(length) + "个字母,请重新输入!!\033[0m")
return "0"
else:
return instr
else:
print("\033[1;31;40m 输入非法,请重新输入!!\033[0m")
return "0"
if showorder == 3:
if str.isdigit(instr): # 验证是否是数字
if len(instr) != length:
print("\033[1;31;40m 输入为零,请重新输入!!\033[0m")
return "0"
else:
return instr
else:
print("\033[1;31;40m 输入非法,请重新输入!!\033[0m")
return "0"
else:
print("\033[1;31;40m 输入为空,请重新输入!!\033[0m")
return "0"
def wfile(sstr, sfile, typeis, smsg, datapath):
# 五个参数,sstr为生成的防伪码,sfile为保存防伪码的文件名,typeis为是否显示“输出完成”的信息框,smsg为提示框提示内容,datapath为保存防伪码的路径。
mkdir(datapath)
datafile = datapath + '\\' + sfile
file = open(datafile, 'w')
wrlist = sstr
pdata = ""
wdata = ""
for i in range(len(wrlist)):
wdata = str(wrlist[i].replace('[', '').replace(']', ''))
wdata = wdata.replace("''", '').replace("''", '')
file.write(str(wdata))
pdata = pdata + wdata
file.close()
print("\033[1;31;40m" + pdata + "\033[0m")
if typeis != 'no':
tkinter.messagebox.showinfo("提示", smsg + str(len(randstr)) + "\n 防伪码文件存放位置:" + datafile)
root.withdraw()
# 企业编码管理系统主菜单
# 输入数字验证,判断输入是否在0-9之间的整数
def input_validation(insel):
if str.isdigit(insel):
insel = int(insel)
# if insel == 0:
# # print("\033[1;31;40m 输入非法,请重新输入!!\033[0m")
# return 0
# else:
# return insel
return insel
else:
print("\033[1;31;40m 输入非法,请重新输入!!\033[0m")
return 0
def scode1(schoice):
# 调用inputbox函数对输入数据进行非空、输入合法性判断
incount = inputbox("\033[1;32m 请输入您要生成验证码的数量:\33[0m