您的位置:首页 > 编程语言 > Python开发

python使用自己封装的库

2017-08-23 20:23 232 查看
我想做一个随机生成用户信息的工具库:人名随机,性别随机,还有粉丝随机。中国人名分姓和名,我用first_name.txt存姓,用last_name.txt存名






分别解析2个文件,得到我们需要的数据,代码实现:


ln_path = '/Users/cykj/DeskTop/last_name.txt'
fn_path = '/Users/cykj/DeskTop/first_name.txt'
fn = []
ln1 = []
ln2 = []


#获取姓
with open(fn_path,'r') as f:
for line in f.readlines():
fn.append(line.split('\n')[0])

print(fn)

#获取名
with open(ln_path,'r') as f:
for line in f.readlines():
if len(line.split('\n')[0]) == 1:
#print(len(line.split('\n')[0]))
ln1.append(line.split('\n')[0])
else:
ln2.append(line.split('\n')[0])

print(ln1)
print('='*70)
print(ln2)

#用户信息基类
import  random
class FakeUser:
def fake_name(self,amount = 1,one_word = False,two_words = False):
n = 0
while n <= amount:
if one_word:
full_name = random.choice(fn) +random.choice(ln1)
elif two_words:
full_name = random.choice(fn) +random.choice(ln2)
else:
full_name = random.choice(fn) +random.choice(ln1 + ln2)
yield  full_name
n +=1

def fake_gender(self,amount =1):
n =0
while n <= amount:
gender = random.choice(['男','女','未知'])
yield  gender
n +=1

#派生类
class SonUser(FakeUser):
def get_followers(self,amount,few = True,a_lot = False):
n = 0
while n <= amount:
if few:
followers = random.randrange(1,50)
elif a_lot:
followers = random.randrange(200,10000)
yield  followers
n +=1

#调用
user_a = FakeUser()
user_b = SonUser()
print('宋末年间取名法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Python