编写一个填充用户假数据的工具库导入到Python的库中,要求如下:
代码实现:
# # -*- coding: utf-8 -*-
import random
import re
class FakeUser(object):
# def __init__(self,name,sex):
# self.name=name
# self.sex=sex
def sui_ji_name(self):
with open("first_name.txt", "r",encoding="utf-8") as file:
A = file.read()
# A = A.split()
A = random.sample(A, 1)
with open("last_name.txt", "r",encoding="utf-8") as file:
B = file.read()
# B = B.split()
C=random.randint(1,2)
if C==1:
B = random.sample(B, 1)
else:
B = random.sample(B, 2)
self.name = str(A) + str(B)
return self.name
def sui_ji_sex(self):
sex = ["男", "女", "未知"]
self.sex = random.choice(sex)
return self.sex
class SnsUser(object):
def sui_ji_num(self):
N=random.randint(1,100)
print("追随的数量:{}人".format(N))
for i in range(N+1):
print(re.sub("[,\[\]' '.]","",FakeUser().sui_ji_name()))
def name_sex():
name=re.sub("[,\[\]' '.]","",FakeUser().sui_ji_name())
print(name,end = " ")
print("性别为{}".format(FakeUser().sui_ji_sex()))
SnsUser().sui_ji_num()
name_sex()
代码结果:

……
这个带码是自行敲打,有许多的问题,因为是个新手,实现的方式比较简单,没有优化处理,因此有更好的想法可以在留言区留言。
通过分析题目,在代码中定义了两个类,分别进行随机姓名,性别的选取(FakeUser)和随机随从人数选取(SnsUser);然后定义一个函数处理两个类的信息。
拓展:
在进行文件导入的前提是文件内容必须没有标点符号和空格,如果出现可以利用下面这个代码将文本进行格式化:
# 进行文字处理
import re
A=open("last_name.txt", "r",encoding="utf-8")
A=A.read()
A=re.sub("[,,、 。\n]","",A)
set(A)
print(A)
利用正则表达式re的re.sub将文件中的标点字符替换为空,如果需要更多的替换可在”[,,、 。\n]”内进行添加需要替换的标点字符,这是实现开头代码的前提,是非常重要的。