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('宋末年间取名法
相关文章推荐
- 使用Swig封装C++到Python的心得--01
- 为了方便维护,以后无论如何,数据库操作一定使用封装的强类型,或者自己封装的数据操作类。后记,使用分布式查询解决多个数据库之间的查询操作。
- Java中如何封装自己的类,建立并使用自己的类库?
- Java中如何使封装自己的类,建立并使用自己的类库?
- python使用json格式进行数据封装
- 简单封装一个供自己使用的工具类
- Owc的使用---自己封装好的类可以实现14种分析图
- python使用json格式进行数据封装
- Java Calendar,Date,DateFormat,TimeZone,Locale等时间相关内容的认知和使用(2) 自己封装的Calendar接口
- Tolua使用,利用pkg文件,封装自己的lua支持的cocos2dx的接口
- 自己封装的cocos2dx中封装pomelo并导出给javascript使用
- 自己使用Jquery封装各种功能分享
- ubuntu 下使用 Python 和 SL4A 的 Android 应用程序构建您自己的android开发环境
- 封装一个用户控件的pager.ascx文件供自己使用
- 淘宝api自己的封装之python版
- 使用 Py++ 封装 c++ api,python使用过程
- 不使用Webwork 封装的上传组件,直接使用的自己的上传组件
- Java中如何封装自己的类,建立并使用自己的类库?
- Owc的使用---自己封装好的类可以实现14种分析图
- 经常使用的一个python logging封装,支持同时向console和文件输出