from tkinter import *
from tkinter import ttk
from tkinter.filedialog import askdirectory
import faker
import pandas as pd
#2023年2月24日晚9点5分第一版
#有问题请联系445218346@qq.com;
# 初始化faker
fake = faker.Faker(["zh_CN"])
# 定义生成个人信息函数
def generate_person_info(number,name_checked,name_female_checked,name_male_checked,address_checked,province_checked,phone_checked,id_card_checked,
birth_date_checked,email_checked,company_checked,company_prefix_checked,company_suffix_checked,credit_card_number_checked,job_checked
,salary_checked,postcode_checked,company_email_checked,free_email_checked,license_plate_checked,profile_checked,simple_profile_checked,date_object_checked,
domain_name_checked,domain_word_checked,ipv4_checked,ipv6_checked,mac_address_checked,tld_checked,uri_checked,uri_extension_checked,uri_page_checked
,uri_path_checked,url_checked,user_name_checked,image_url_checked,pystr_checked,random_element_checked,random_letter_checked
,paragraph_checked,paragraphs_checked,sentence_checked,sentences_checked,text_checked,word_checked,words_checked,binary_checked
,boolean_checked,language_code_checked,locale_checked,md5_checked,password_checked,sha1_checked,sha256_checked,uuid4_checked,chrome_checked,
firefox_checked,internet_explorer_checked,opera_checked,safari_checked,linux_platform_token_checked,user_agent_checked,file_extension_checked,file_name_checked,file_path_checked,
mime_type_checked,color_name_checked,hex_color_checked,rgb_color_checked,safe_color_name_checked,safe_hex_color_checked,isbn10_checked,isbn13_checked,date_checked,
date_between_checked,date_time_checked,date_time_ad_checked,future_datetime_checked,month_checked,month_name_checked,past_datetime_checked,timezone_checked,unix_time_checked,year_checked):
data = []
for i in range(number):
# 生成个人信息
name = fake.name() if name_checked else '' # 姓名#姓名
name_female = fake.name_female() if name_female_checked else '' # 男性全名
name_male =fake.name_male() if name_male_checked else '' # 女性全名
address = fake.address() if address_checked else '' # 地址
province = address[:3] if province_checked else '' # 省份
phone_number = fake.phone_number() if phone_checked else ''#电话号码
id_card = fake.ssn() if id_card_checked else ''#身份证号
birth_date = id_card[6:14] if birth_date_checked else ''#出生年月
email = fake.email() if email_checked else ''#邮件
company = fake.company() if company_checked else ''#公司
company_prefix = fake.company_prefix() if company_prefix_checked else ''#公司短名
company_suffix = fake.company_suffix() if company_suffix_checked else ''#公司性质
credit_card_number = fake.credit_card_number() if credit_card_number_checked else ''#信用卡号
job = fake.job() if job_checked else ''#随机职位
salary = fake.random_int(min=0,max=10000) if salary_checked else ''#工资
postcode = fake.postcode() if postcode_checked else ''#邮编
company_email = fake.company_email() if company_email_checked else ''#公司邮箱
free_email = fake.free_email() if free_email_checked else ''#免费邮箱
license_plate = fake.license_plate() if license_plate_checked else ''#汽车牌照
profile=fake.profile() if profile_checked else ''#随机生成档案信息
simple_profile=fake.simple_profile() if simple_profile_checked else ''#随机生成简单档案信息
date_object=fake.date_object() if date_object_checked else '' #随机生产从1970-1-1到指定日期的随机日期。 入职年月
# 网络基础信息类
domain_name = fake.domain_name() if domain_name_checked else ''# 生成域名
domain_word = fake.domain_word() if domain_word_checked else ''# 域词(即,不包含后缀)
ipv4 = fake.ipv4() if ipv4_checked else ''# 随机IP4地址
ipv6 = fake.ipv6() if ipv6_checked else ''# 随机IP6地址
mac_address = fake.mac_address() if mac_address_checked else '' # 随机MAC地址
tld = fake.tld() if tld_checked else ''# 网址域名后缀(.com,.net.cn,等等,不包括.)
uri = fake.uri() if uri_checked else ''# 随机URI地址
uri_extension = fake.uri_extension() if uri_extension_checked else '' # 网址文件后缀
uri_page = fake.uri_page() if uri_page_checked else ''# 网址文件(不包含后缀)
uri_path = fake.uri_path() if uri_path_checked else ''# 网址文件路径(不包含文件名)
url = fake.url() if url_checked else ''# 随机URL地址
user_name = fake.user_name() if user_name_checked else ''# 随机用户名
image_url = fake.image_url() if image_url_checked else ''# 随机URL地址
#文本加密类
pystr = fake.pystr() if pystr_checked else ''# 随机字符串
random_element = fake.random_element() if random_element_checked else '' # 随机字母
random_letter = fake.random_letter() if random_letter_checked else ''# 随机字母
paragraph = fake.paragraph() if paragraph_checked else ''# 随机生成一个段落
paragraphs = fake.paragraphs() if paragraphs_checked else ''# 随机生成多个段落
sentence = fake.sentence() if sentence_checked else ''# 随机生成一句话
sentences = fake.sentences() if sentences_checked else ''# 随机生成多句话,与段落类似
text = fake.text() if text_checked else ''# 随机生成一篇文章
word = fake.word() if word_checked else ''# 随机生成词语
words = fake.words() if words_checked else ''# 随机生成多个词语,用法与段落,句子,类似
binary = fake.binary() if binary_checked else ''# 随机生成二进制编码
boolean = fake.boolean() if boolean_checked else ''# True/False
language_code = fake.language_code() if language_code_checked else '' # 随机生成两位语言编码
locale = fake.locale() if locale_checked else ''# 随机生成语言/国际 信息
md5 = fake.md5() if md5_checked else ''# 随机生成MD5
password = fake.password(length=9,special_chars=True,digits=True,upper_case=True) if password_checked else '' # 随机生成密码
sha1 = fake.sha1() if sha1_checked else ''# 随机SHA1
sha256 = fake.sha256() if sha256_checked else ''# 随机SHA256
uuid4 = fake.uuid4() if uuid4_checked else ''# 随机UUID
#浏览器信息类
chrome = fake.chrome() if chrome_checked else ''# 随机生成Chrome的浏览器user_agent信息
firefox = fake.firefox() if firefox_checked else ''# 随机生成FireFox的浏览器user_agent信息
internet_explorer = fake.internet_explorer() if internet_explorer_checked else '' # 随机生成IE的浏览器user_agent信息
opera = fake.opera() if opera_checked else ''# 随机生成Opera的浏览器user_agent信息
safari = fake.safari() if safari_checked else '' # 随机生成Safari的浏览器user_agent信息
linux_platform_token = fake.linux_platform_token() if linux_platform_token_checked else ''# 随机Linux信息
user_agent = fake.user_agent() if user_agent_checked else ''# 随机user_agent信息
# 文件信息类
file_extension = fake.file_extension() if file_extension_checked else ''# 随机文件扩展名
file_name = fake.file_name() if file_name_checked else ''# 随机文件名(包含扩展名,不包含路径)
file_path = fake.file_path() if file_path_checked else ''# 随机文件路径(包含文件名,扩展名)
mime_type = fake.mime_type() if mime_type_checked else ''# 随机mime Type
# 其他类别类
color_name = fake.color_name() if color_name_checked else ''# 随机颜色名
hex_color = fake.hex_color() if hex_color_checked else ''# 随机HEX颜色
rgb_color = fake.rgb_color() if rgb_color_checked else '' # 随机RGB颜色
safe_color_name = fake.safe_color_name() if safe_color_name_checked else ''# 随机安全色名
safe_hex_color = fake.safe_hex_color() if safe_hex_color_checked else ''# 随机安全HEX颜色
isbn10 = fake.isbn10() if isbn10_checked else ''# 随机ISBN(10位)
isbn13 = fake.isbn13() if isbn13_checked else ''# 随机ISBN(13位)
#时间类
# 时间信息类
date = fake.date() if date_checked else '' # 随机日期
date_between = fake.date_between() if date_between_checked else '' # 随机生成指定范围内日期,参数#start_date,end_date
date_time = fake.date_time() if date_time_checked else ''# 随机生成指定时间(1970年1月1日至今)
date_time_ad = fake.date_time_ad() if date_time_ad_checked else '' # 生成公元1年到现在的随机时间
future_datetime = fake.future_datetime() if future_datetime_checked else '' # 未来时间
month = fake.month() if month_checked else ''# 随机月份
month_name = fake.month_name() if month_name_checked else '' # 随机月份(英文)
past_datetime = fake.past_datetime() if past_datetime_checked else '' # 随机生成已经过去的时间
timezone = fake.timezone() if timezone_checked else ''# 随机时区
unix_time = fake.unix_time() if unix_time_checked else ''# 随机Unix时间
year = fake.year() if year_checked else '' # 随机年份
data.append([name,name_female,name_male,address,province,phone_number,id_card,birth_date,email,company,company_prefix,company_suffix,
credit_card_number,job,salary,postcode,company_email,free_email,license_plate,profile,simple_profile,date_object,domain_name,domain_word
,ipv4,ipv6,mac_address,tld,uri,uri_extension,uri_page,uri_path,url,user_name,image_url,
pystr,random_element,random_letter,paragraph,paragraphs,sentence,sentences,text,word,words,binary,boolean,language_code,locale,md5,password,sha1,sha256,uuid4,
chrome,firefox,internet_explorer,opera,safari,linux_platform_token,user_agent,file_extension,file_name,file_path,mime_type
,color_name,hex_color,rgb_color,safe_color_name,safe_hex_color,isbn10,isbn13,date,date_between,date_time,date_time_ad,future_datetime,month,month_name,past_datetime,timezone,unix_time,year])
return data
# 生成数据
def generate_data():
try:
number = int(number_entry.get())
#个人信息
name_checked = var_name.get()
name_female_checked = var_name_female.get()
name_male_checked = var_name_male.get()
address_checked = var_address.get()
province_checked = var_province.get()
phone_number_checked = var_phone_number.get()
id_card_checked = var_id_card.get()
birth_date_checked = var_birth_date.get()
email_checked = var_email.get()
company_checked = var_company.get()
company_prefix_checked = var_company_prefix.get()
company_suffix_checked = var_company_suffix.get()
credit_card_number_checked = var_credit_card_number.get()
job_checked = var_job.get()
salary_checked = var_salary.get()
postcode_checked = var_postcode.get()
company_email_checked = var_company_email.get()
free_email_checked = var_free_email.get()
license_plate_checked = var_license_plate.get()
profile_checked = var_profile.get()
simple_profile_checked = var_simple_profile.get()
date_object_checked = var_date_object.get()
#网络基础信息类
domain_name_checked = var_domain_name.get()
domain_word_checked = var_domain_word.get()
ipv4_checked = var_ipv4.get()
ipv6_checked = var_ipv6.get()
mac_address_checked = var_mac_address.get()
tld_checked = var_tld.get()
uri_checked = var_uri.get()
uri_extension_checked = var_uri_extension.get()
uri_page_checked = var_uri_page.get()
uri_path_checked = var_uri_path.get()
url_checked = var_url.get()
user_name_checked = var_user_name.get()
image_url_checked = var_image_url.get()
# 文本加密类
pystr_checked = var_pystr.get()
random_element_checked = var_random_element.get()
random_letter_checked = var_random_letter.get()
paragraph_checked = var_paragraph.get()
paragraphs_checked = var_paragraphs.get()
sentence_checked = var_sentence.get()
sentences_checked = var_sentences.get()
text_checked = var_text.get()
word_checked = var_word.get()
words_checked = var_words.get()
binary_checked = var_binary.get()
boolean_checked = var_boolean.get()
language_code_checked = var_language_code.get()
locale_checked = var_locale.get()
md5_checked = var_md5.get()
password_checked = var_password.get()
sha1_checked = var_sha1.get()
sha256_checked = var_sha256.get()
uuid4_checked = var_uuid4.get()
#浏览器信息类
chrome_checked = var_chrome.get()
firefox_checked = var_firefox.get()
internet_explorer_checked = var_internet_explorer.get()
opera_checked = var_opera.get()
safari_checked = var_safari.get()
linux_platform_token_checked = var_linux_platform_token.get()
user_agent_checked = var_user_agent.get()
#文件信息类
file_extension_checked = var_file_extension.get()
file_name_checked = var_file_name.get()
file_path_checked = var_file_path.get()
mime_type_checked = var_mime_type.get()
#其他类别
color_name_checked = var_color_name.get()
hex_color_checked = var_hex_color.get()
rgb_color_checked = var_rgb_color.get()
safe_color_name_checked = var_safe_color_name.get()
safe_hex_color_checked = var_safe_hex_color.get()
isbn10_checked = var_isbn10.get()
isbn13_checked = var_isbn13.get()
#时间类
date_checked = var_date.get()
date_between_checked = var_date_between.get()
date_time_checked = var_date_time.get()
date_time_ad_checked = var_date_time_ad.get()
future_datetime_checked = var_future_datetime.get()
month_checked = var_month.get()
month_name_checked = var_month_name.get()
past_datetime_checked = var_past_datetime.get()
timezone_checked = var_timezone.get()
unix_time_checked = var_unix_time.get()
year_checked = var_year.get()
if not any([name_checked,name_female_checked,name_male_checked,address_checked,province_checked,phone_number_checked,birth_date_checked,id_card_checked,email_checked,company_checked,company_prefix_checked,company_suffix_checked,credit_card_number_checked,job_checked,salary_checked,postcode_checked,company_email_checked,free_email_checked,license_plate_checked,profile_checked,simple_profile_checked,date_object_checked
,domain_name_checked,domain_word_checked,ipv4_checked,ipv6_checked,mac_address_checked,tld_checked,uri_checked,uri_extension_checked,uri_page_checked,uri_path_checked,url_checked,user_name_checked,image_url_checked,
pystr_checked,random_element_checked,random_letter_checked,paragraph_checked,paragraphs_checked,sentence_checked,sentences_checked,text_checked,word_checked,words_checked,binary_checked,boolean_checked,language_code_checked,locale_checked,md5_checked,password_checked,sha1_checked,sha256_checked,uuid4_checked,
chrome_checked,firefox_checked,internet_explorer_checked,opera_checked,safari_checked,linux_platform_token_checked,user_agent_checked,file_extension_checked,file_name_checked,file_path_checked,mime_type_checked,color_name_checked,hex_color_checked,rgb_color_checked,safe_color_name_checked,safe_hex_color_checked,isbn10_checked,isbn13_checked,
date_checked,date_between_checked,date_time_checked,date_time_ad_checked,future_datetime_checked,month_checked,month_name_checked,past_datetime_checked,timezone_checked,unix_time_checked,year_checked
]):
result_label.config(text='请至少选择一个个人信息项!')
return
data = generate_person_info(number,name_checked,name_female_checked,name_male_checked,address_checked,province_checked,phone_number_checked,birth_date_checked,id_card_checked,email_checked,company_checked,company_prefix_checked,company_suffix_checked,credit_card_number_checked,job_checked,salary_checked,postcode_checked,company_email_checked,free_email_checked,license_plate_checked,profile_checked,simple_profile_checked,date_object_checked,
domain_name_checked,domain_word_checked,ipv4_checked,ipv6_checked,mac_address_checked,tld_checked,uri_checked,uri_extension_checked,uri_page_checked,uri_path_checked,url_checked,user_name_checked,image_url_checked,
pystr_checked,random_element_checked,random_letter_checked,paragraph_checked,paragraphs_checked,sentence_checked,sentences_checked,text_checked,word_checked,words_checked,binary_checked,boolean_checked,language_code_checked,locale_checked,md5_checked,password_checked,sha1_checked,sha256_checked,uuid4_checked,
chrome_checked,firefox_checked,internet_explorer_checked,opera_checked,safari_checked,linux_platform_token_checked,user_agent_checked,file_extension_checked,file_name_checked,file_path_checked,mime_type_checked,color_name_checked,hex_color_checked,rgb_color_checked,safe_color_name_checked,safe_hex_color_checked,isbn10_checked,isbn13_checked,date_checked,date_between_checked,date_time_checked,date_time_ad_checked,future_datetime_checked,month_checked,month_name_checked,past_datetime_checked,timezone_checked,unix_time_checked,year_checked)
df = pd.DataFrame(data, columns=['姓名', '男性全名', '女性全名', '地址', '省份', '电话号码', '身份证号', '出生日期','邮件', '公司',
'公司短名', '公司性质', '信用卡号', '随机职位', '工资', '邮编', '公司邮箱', '免费邮箱', '汽车牌照', '档案信息',
'简单档案信息','入职年月',
'生成域名','域词(不包含后缀)','IP4地址','IP6地址','MAC地址','网址域名后缀(不包括.)','随机URI地址'
,'网址文件后缀','网址文件(不包含后缀)','网址文件路径(不包含文件名)','URL地址','用户名','图片URL地址','字符串','数字','字母','段落','多个段落','一句话',
'多句话','一篇文章','词语','多个词语','二进制编码','True/False','两位语言编码','语言/国际 信息','MD5','密码','SHA1','SHA256','UUID','Chrome的user_agent信息'
,'FireFoxuser_agent信息','IEuser_agent信息','Operauser_agent信息','Safariuser_agent信息','Linux信息','user_agent信息','文件扩展名','文件名(包含扩展名,不包含路径)','文件路径(包含文件名,扩展名)','mime Type','颜色名','HEX颜色'
,'RGB颜色','安全色名','安全HEX颜色','ISBN(10位)','ISBN(13位)','日期','指定范围内日期',
'指定时间(1970年1月1日至今)','生成公元1年到现在的时间','未来时间','月份','月份(英文)','已经过去的日期'
,'时区','Unix时间','年份'])
df.to_excel(path_entry.get() + '/person_info.xlsx', index=False)
result_label.config(text='数据生成成功!')
except:
result_label.config(text='请输入数字!')
# 选择文件路径
def select_path():
path = askdirectory()
path_entry.delete(0, END)
path_entry.insert(0, path)
# GUI窗口
root = Tk()
root.title('生成虚拟信息-version1-By HuangAnthony 有问题请联系445218346@qq.com')
mainframe = ttk.Frame(root)
mainframe.grid(column=10, row=20)
root.columnconfigure(0, weight=1)
root.rowconfigure(0, weight=1)
number_label = ttk.Label(mainframe, text='生成数量:')
number_label.grid(column=0, row=0)
number_entry = ttk.Entry(mainframe)
number_entry.grid(column=1, row=0)
name_label = ttk.Label(mainframe, text='个人信息选项1:')
name_label.grid(column=0, row=1)
name_label = ttk.Label(mainframe, text='个人信息选项2:')
name_label.grid(column=0, row=2)
name_label = ttk.Label(mainframe, text='个人信息选项3:')
name_label.grid(column=0, row=3)
name_label = ttk.Label(mainframe, text='个人信息选项4:')
name_label.grid(column=0, row=4)
number_label = ttk.Label(mainframe, text='网络基础信息类1:')
number_label.grid(column=0, row=5)
number_label = ttk.Label(mainframe, text='网络基础信息类2:')
number_label.grid(column=0, row=6)
number_label = ttk.Label(mainframe, text='文本加密类1:')
number_label.grid(column=0, row=7)
number_label = ttk.Label(mainframe, text='文本加密类2:')
number_label.grid(column=0, row=8)
number_label = ttk.Label(mainframe, text='文本加密类3:')
number_label.grid(column=0, row=9)
number_label = ttk.Label(mainframe, text='浏览器信息类:')
number_label.grid(column=0, row=10)
number_label = ttk.Label(mainframe, text='文件信息类:')
number_label.grid(column=0, row=11)
number_label = ttk.Label(mainframe, text='其他类别类:')
number_label.grid(column=0, row=12)
number_label = ttk.Label(mainframe, text='时间信息类1:')
number_label.grid(column=0, row=13)
number_label = ttk.Label(mainframe, text='时间信息类2:')
number_label.grid(column=0, row=14)
path_label = ttk.Label(mainframe, text='存放路径:')
path_label.grid(column=3, row=15)
path_entry = ttk.Entry(mainframe)
path_entry.grid(column=4, row=15)
select_button = ttk.Button(mainframe, text='选择', command=select_path)
select_button.grid(column=5, row=15)
generate_button = ttk.Button(mainframe, text='生成', command=generate_data)
generate_button.grid(column=3, row=16)
result_label = ttk.Label(mainframe)
result_label.grid(column=3, row=17)
for child in mainframe.winfo_children():
child.grid_configure(padx=5, pady=5)
#个人信息变量
var_name = IntVar()
var_name_female = IntVar()
var_name_male = IntVar()
var_address = IntVar()
var_province = IntVar()
var_phone_number = IntVar()
var_id_card = IntVar()
var_birth_date = IntVar()
var_email = IntVar()
var_company = IntVar()
var_company_prefix = IntVar()
var_company_suffix = IntVar()
var_credit_card_number = IntVar()
var_job = IntVar()
var_salary = IntVar()
var_postcode = IntVar()
var_company_email = IntVar()
var_free_email = IntVar()
var_license_plate = IntVar()
var_profile = IntVar()
var_simple_profile = IntVar()
var_date_object = IntVar()
#网络基础信息类
var_domain_name = IntVar()
var_domain_word = IntVar()
var_ipv4 = IntVar()
var_ipv6 = IntVar()
var_mac_address = IntVar()
var_tld = IntVar()
var_uri = IntVar()
var_uri_extension = IntVar()
var_uri_page = IntVar()
var_uri_path = IntVar()
var_url = IntVar()
var_user_name = IntVar()
var_image_url = IntVar()
#文本加密类
var_pystr = IntVar()
var_random_element = IntVar()
var_random_letter = IntVar()
var_paragraph = IntVar()
var_paragraphs = IntVar()
var_sentence = IntVar()
var_sentences = IntVar()
var_text = IntVar()
var_word = IntVar()
var_words = IntVar()
var_binary = IntVar()
var_boolean = IntVar()
var_language_code = IntVar()
var_locale = IntVar()
var_md5 = IntVar()
var_password = IntVar()
var_sha1 = IntVar()
var_sha256 = IntVar()
var_uuid4 = IntVar()
#浏览器信息头
var_chrome = IntVar()
var_firefox = IntVar()
var_internet_explorer = IntVar()
var_opera = IntVar()
var_safari = IntVar()
var_linux_platform_token = IntVar()
var_user_agent = IntVar()
#文件信息
var_file_extension = IntVar()
var_file_name = IntVar()
var_file_path = IntVar()
var_mime_type = IntVar()
#其他类别
var_color_name = IntVar()
var_hex_color = IntVar()
var_rgb_color = IntVar()
var_safe_color_name = IntVar()
var_safe_hex_color = IntVar()
var_isbn10 = IntVar()
var_isbn13 = IntVar()
#时间信息类
var_date = IntVar()
var_date_between = IntVar()
var_date_time = IntVar()
var_date_time_ad = IntVar()
var_future_datetime = IntVar()
var_month = IntVar()
var_month_name = IntVar()
var_past_datetime = IntVar()
var_timezone = IntVar()
var_unix_time = IntVar()
var_year = IntVar()
#个人信息类
name_check = ttk.Checkbutton(mainframe, text='姓名', variable=var_name, onvalue=1, offvalue=0)
name_check.grid(column=1, row=1)
name_female_check = ttk.Checkbutton(mainframe, text='男性全名', variable=var_name_female, onvalue=1, offvalue=0)
name_female_check.grid(column=2, row=1)
name_male_check = ttk.Checkbutton(mainframe, text='女性全名', variable=var_name_male, onvalue=1, offvalue=0)
name_male_check.grid(column=3, row=1)
address_check = ttk.Checkbutton(mainframe, text='详细地址', variable=var_address, onvalue=1, offvalue=0)
address_check.grid(column=4, row=1)
province_check = ttk.Checkbutton(mainframe, text='所在省份', variable=var_province, onvalue=1, offvalue=0)
province_check.grid(column=5, row=1)
phone_number_check = ttk.Checkbutton(mainframe, text='手机号', variable=var_phone_number, onvalue=1, offvalue=0)
phone_number_check.grid(column=6, row=1)
id_card_check = ttk.Checkbutton(mainframe, text='身份证号', variable=var_id_card, onvalue=1, offvalue=0)
id_card_check.grid(column=1, row=2)
birth_date_check = ttk.Checkbutton(mainframe, text='出生年月', variable=var_birth_date, onvalue=1, offvalue=0)
birth_date_check.grid(column=2, row=2)
email_check = ttk.Checkbutton(mainframe, text='邮箱', variable=var_email, onvalue=1, offvalue=0)
email_check.grid(column=3, row=2)
company_check = ttk.Checkbutton(mainframe, text='公司', variable=var_company, onvalue=1, offvalue=0)
company_check.grid(column=4, row=2)
company_prefix_check = ttk.Checkbutton(mainframe, text='公司短名', variable=var_company_prefix, onvalue=1, offvalue=0)
company_prefix_check.grid(column=5, row=2)
company_suffix_check = ttk.Checkbutton(mainframe, text='公司性质', variable=var_company_suffix, onvalue=1, offvalue=0)
company_suffix_check.grid(column=6, row=2)
credit_card_number_check = ttk.Checkbutton(mainframe, text='信用卡号', variable=var_credit_card_number, onvalue=1, offvalue=0)
credit_card_number_check.grid(column=1, row=3)
job_check = ttk.Checkbutton(mainframe, text='工作', variable=var_job, onvalue=1, offvalue=0)
job_check.grid(column=2, row=3)
salary_check = ttk.Checkbutton(mainframe, text='工资', variable=var_salary, onvalue=1, offvalue=0)
salary_check.grid(column=3, row=3)
postcode_check = ttk.Checkbutton(mainframe, text='邮编', variable=var_postcode, onvalue=1, offvalue=0)
postcode_check.grid(column=4, row=3)
company_email_check = ttk.Checkbutton(mainframe, text='公司邮箱', variable=var_company_email, onvalue=1, offvalue=0)
company_email_check.grid(column=5, row=3)
free_email_check = ttk.Checkbutton(mainframe, text='免费邮箱', variable=var_free_email, onvalue=1, offvalue=0)
free_email_check.grid(column=6, row=3)
license_plate_check = ttk.Checkbutton(mainframe, text='车牌号', variable=var_license_plate, onvalue=1, offvalue=0)
license_plate_check.grid(column=1, row=4)
profile_check = ttk.Checkbutton(mainframe, text='档案信息', variable=var_profile, onvalue=1, offvalue=0)
profile_check.grid(column=2, row=4)
simple_profile_check = ttk.Checkbutton(mainframe, text='简单档案信息', variable=var_simple_profile, onvalue=1, offvalue=0)
simple_profile_check.grid(column=3, row=4)
date_object_check = ttk.Checkbutton(mainframe, text='入职日期', variable=var_date_object, onvalue=1, offvalue=0)
date_object_check.grid(column=4, row=4)
#基础网络信息类
domain_name_check = ttk.Checkbutton(mainframe, text='域名', variable=var_domain_name, onvalue=1, offvalue=0)
domain_name_check.grid(column=1, row=5)
domain_word_check = ttk.Checkbutton(mainframe, text='域词', variable=var_domain_word, onvalue=1, offvalue=0)
domain_word_check.grid(column=2, row=5)
ipv4_check = ttk.Checkbutton(mainframe, text='ipv4地址', variable=var_ipv4, onvalue=1, offvalue=0)
ipv4_check.grid(column=3, row=5)
ipv6_check = ttk.Checkbutton(mainframe, text='ipv6地址', variable=var_ipv6, onvalue=1, offvalue=0)
ipv6_check.grid(column=4, row=5)
mac_address_check = ttk.Checkbutton(mainframe, text='MAC地址', variable=var_mac_address, onvalue=1, offvalue=0)
mac_address_check.grid(column=5, row=5)
tld_check = ttk.Checkbutton(mainframe, text='域名后缀', variable=var_tld, onvalue=1, offvalue=0)
tld_check.grid(column=6, row=5)
uri_check = ttk.Checkbutton(mainframe, text='uri地址', variable=var_uri, onvalue=1, offvalue=0)
uri_check.grid(column=7, row=5)
uri_extension_check = ttk.Checkbutton(mainframe, text='网址文件后缀', variable=var_uri_extension, onvalue=1, offvalue=0)
uri_extension_check.grid(column=1, row=6)
uri_page_check = ttk.Checkbutton(mainframe, text='网址文件不含后缀', variable=var_uri_page, onvalue=1, offvalue=0)
uri_page_check.grid(column=2, row=6)
uri_path_check = ttk.Checkbutton(mainframe, text='网址文件路径', variable=var_uri_path, onvalue=1, offvalue=0)
uri_path_check.grid(column=3, row=6)
url_check = ttk.Checkbutton(mainframe, text='URL地址', variable=var_url, onvalue=1, offvalue=0)
url_check.grid(column=4, row=6)
user_name_check = ttk.Checkbutton(mainframe, text='用户名', variable=var_user_name, onvalue=1, offvalue=0)
user_name_check.grid(column=5, row=6)
image_url_check = ttk.Checkbutton(mainframe, text='图片URL地址', variable=var_image_url, onvalue=1, offvalue=0)
image_url_check.grid(column=6, row=6)
#文本加密类
pystr_check = ttk.Checkbutton(mainframe, text='随机字符串', variable=var_pystr, onvalue=1, offvalue=0)
pystr_check.grid(column=1, row=7)
random_element_check = ttk.Checkbutton(mainframe, text='随机数', variable=var_random_element, onvalue=1, offvalue=0)
random_element_check.grid(column=2, row=7)
random_letter_check = ttk.Checkbutton(mainframe, text='字符', variable=var_random_letter, onvalue=1, offvalue=0)
random_letter_check.grid(column=3, row=7)
paragraph_check = ttk.Checkbutton(mainframe, text='段落', variable=var_paragraph, onvalue=1, offvalue=0)
paragraph_check.grid(column=4, row=7)
paragraphs_check = ttk.Checkbutton(mainframe, text='多个段落', variable=var_paragraphs, onvalue=1, offvalue=0)
paragraphs_check.grid(column=5, row=7)
sentence_check = ttk.Checkbutton(mainframe, text='一句话', variable=var_sentence, onvalue=1, offvalue=0)
sentence_check.grid(column=6, row=7)
sentences_check = ttk.Checkbutton(mainframe, text='多句话', variable=var_sentences, onvalue=1, offvalue=0)
sentences_check.grid(column=1, row=8)
text_check = ttk.Checkbutton(mainframe, text='一篇文章', variable=var_text, onvalue=1, offvalue=0)
text_check.grid(column=2, row=8)
word_check = ttk.Checkbutton(mainframe, text='词语', variable=var_word, onvalue=1, offvalue=0)
word_check.grid(column=3, row=8)
words_check = ttk.Checkbutton(mainframe, text='多个词语', variable=var_words, onvalue=1, offvalue=0)
words_check.grid(column=4, row=8)
binary_check = ttk.Checkbutton(mainframe, text='二进制编码', variable=var_binary, onvalue=1, offvalue=0)
binary_check.grid(column=5, row=8)
boolean_check = ttk.Checkbutton(mainframe, text='布尔值', variable=var_boolean, onvalue=1, offvalue=0)
boolean_check.grid(column=6, row=8)
language_code_check = ttk.Checkbutton(mainframe, text='语言编码', variable=var_language_code, onvalue=1, offvalue=0)
language_code_check.grid(column=1, row=9)
locale_check = ttk.Checkbutton(mainframe, text='语言信息', variable=var_locale, onvalue=1, offvalue=0)
locale_check.grid(column=2, row=9)
md5_check = ttk.Checkbutton(mainframe, text='md5编码', variable=var_md5, onvalue=1, offvalue=0)
md5_check.grid(column=3, row=9)
password_check = ttk.Checkbutton(mainframe, text='密码', variable=var_password, onvalue=1, offvalue=0)
password_check.grid(column=4, row=9)
sha1_check = ttk.Checkbutton(mainframe, text='sha1码', variable=var_sha1, onvalue=1, offvalue=0)
sha1_check.grid(column=5, row=9)
sha256_check = ttk.Checkbutton(mainframe, text='sha256码', variable=var_sha256, onvalue=1, offvalue=0)
sha256_check.grid(column=6, row=9)
uuid4_check = ttk.Checkbutton(mainframe, text='uuid4码', variable=var_uuid4, onvalue=1, offvalue=0)
uuid4_check.grid(column=7, row=9)
#浏览器信息类
chrome_check = ttk.Checkbutton(mainframe, text='谷歌_user_agent', variable=var_chrome, onvalue=1, offvalue=0)
chrome_check.grid(column=1, row=10)
firefox_check = ttk.Checkbutton(mainframe, text='火狐_user_agent', variable=var_firefox, onvalue=1, offvalue=0)
firefox_check.grid(column=2, row=10)
internet_explorer_check = ttk.Checkbutton(mainframe, text='IE_user_agent', variable=var_internet_explorer, onvalue=1, offvalue=0)
internet_explorer_check.grid(column=3, row=10)
opera_check = ttk.Checkbutton(mainframe, text='opera_user_agent', variable=var_opera, onvalue=1, offvalue=0)
opera_check.grid(column=4, row=10)
safari_check = ttk.Checkbutton(mainframe, text='safari_user_agent', variable=var_safari, onvalue=1, offvalue=0)
safari_check.grid(column=5, row=10)
linux_platform_token_check = ttk.Checkbutton(mainframe, text='linux系统信息', variable=var_linux_platform_token, onvalue=1, offvalue=0)
linux_platform_token_check.grid(column=6, row=10)
user_agent_check = ttk.Checkbutton(mainframe, text='user_agent信息', variable=var_user_agent, onvalue=1, offvalue=0)
user_agent_check.grid(column=7, row=10)
#文件信息类
file_extension_check = ttk.Checkbutton(mainframe, text='文件扩展名', variable=var_file_extension, onvalue=1, offvalue=0)
file_extension_check.grid(column=1, row=11)
file_name_check = ttk.Checkbutton(mainframe, text='文件名(包括扩展名)', variable=var_file_name, onvalue=1, offvalue=0)
file_name_check.grid(column=2, row=11)
file_path_check = ttk.Checkbutton(mainframe, text='文件路径(包含文件名,扩展名)', variable=var_file_path, onvalue=1, offvalue=0)
file_path_check.grid(column=3, row=11)
mime_type_check = ttk.Checkbutton(mainframe, text='mime_type时间类型', variable=var_mime_type, onvalue=1, offvalue=0)
mime_type_check.grid(column=4, row=11)
#其他类别类
color_name_check = ttk.Checkbutton(mainframe, text='颜色名', variable=var_color_name, onvalue=1, offvalue=0)
color_name_check.grid(column=1, row=12)
hex_color_check = ttk.Checkbutton(mainframe, text='HEX颜色', variable=var_hex_color, onvalue=1, offvalue=0)
hex_color_check.grid(column=2, row=12)
rgb_color_check = ttk.Checkbutton(mainframe, text='RGB颜色', variable=var_rgb_color, onvalue=1, offvalue=0)
rgb_color_check.grid(column=3, row=12)
safe_color_name_check = ttk.Checkbutton(mainframe, text='安全色名', variable=var_safe_color_name, onvalue=1, offvalue=0)
safe_color_name_check.grid(column=4, row=12)
safe_hex_color_check = ttk.Checkbutton(mainframe, text='安全HEX颜色', variable=var_safe_hex_color, onvalue=1, offvalue=0)
safe_hex_color_check.grid(column=5, row=12)
isbn10_check = ttk.Checkbutton(mainframe, text='ISBN10码', variable=var_isbn10, onvalue=1, offvalue=0)
isbn10_check.grid(column=6, row=12)
isbn13_check = ttk.Checkbutton(mainframe, text='ISBN13码', variable=var_isbn13, onvalue=1, offvalue=0)
isbn13_check.grid(column=7, row=12)
#时间信息类
date_check = ttk.Checkbutton(mainframe, text='日期', variable=var_date, onvalue=1, offvalue=0)
date_check.grid(column=1, row=13)
date_between_check = ttk.Checkbutton(mainframe, text='指定范围内日期', variable=var_date_between, onvalue=1, offvalue=0)
date_between_check.grid(column=2, row=13)
date_time_check = ttk.Checkbutton(mainframe, text='指定时间', variable=var_date_time, onvalue=1, offvalue=0)
date_time_check.grid(column=3, row=13)
date_time_ad_check = ttk.Checkbutton(mainframe, text='公元1年到现在期间的日期', variable=var_date_time_ad, onvalue=1, offvalue=0)
date_time_ad_check.grid(column=4, row=13)
future_datetime_check = ttk.Checkbutton(mainframe, text='未来时间', variable=var_future_datetime, onvalue=1, offvalue=0)
future_datetime_check.grid(column=5, row=13)
month_check = ttk.Checkbutton(mainframe, text='月份', variable=var_month, onvalue=1, offvalue=0)
month_check.grid(column=6, row=13)
month_name_check = ttk.Checkbutton(mainframe, text='月份(英文)', variable=var_month_name, onvalue=1, offvalue=0)
month_name_check.grid(column=1, row=14)
past_datetime_check = ttk.Checkbutton(mainframe, text='过去的时间', variable=var_past_datetime, onvalue=1, offvalue=0)
past_datetime_check.grid(column=2, row=14)
timezone_check = ttk.Checkbutton(mainframe, text='时区', variable=var_timezone, onvalue=1, offvalue=0)
timezone_check.grid(column=3, row=14)
unix_time_check = ttk.Checkbutton(mainframe, text='unix_time时间', variable=var_unix_time, onvalue=1, offvalue=0)
unix_time_check.grid(column=4, row=14)
year_check = ttk.Checkbutton(mainframe, text='年份', variable=var_year, onvalue=1, offvalue=0)
year_check.grid(column=5, row=14)
for child in mainframe.winfo_children():
child.grid_configure(padx=5, pady=5)
number_entry.focus()
root.mainloop()
faker+tkinter库实现自定义生成信息(可以根据自己需要进行删减)
于 2023-03-11 14:02:14 首次发布