python使用自己封装的库

原创 2017年08月23日 20:23:44
我想做一个随机生成用户信息的工具库:人名随机,性别随机,还有粉丝随机。中国人名分姓和名,我用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数据库函数的封装调用

本文主要是Python操作SQLServer示例,包括执行查询及更新操作(写入中文)。 需要注意的是:读取数据的时候需要decode('utf-8'),写数据的时候需要encode('utf-8')...

python (库、应用程序 ) (打包、上传、构建、安装) => LTS

首先你要有一个setup.py (不管用上古的distutils还是标准的setuptools还是其他先进的打包工具)库的打包打包成tar.gz python setup.py sdist 打包成...

python模块的打包

模块安装: 需要安装对应版本的setuptools模块,这是一个python的模块打包工具。(可以在pypi上找到) 样例代码: 新建test.py文件,内容如下: print "show...
  • five3
  • five3
  • 2012-08-09 15:01
  • 12106

Python实例:网络爬虫抓取豆瓣3万本书(9)

代码在这里:点击打开链接 这个实例是作者的一次课程设计。虽然内容不咋的,但是作为课程设计,我还是很惊讶的了。 至少我以前没做过这种程度的课程设计。当然实习和毕业设计除外。 再总结一下吧。 1....

Python入门:面向对象编程-封装

首先声名,该文章属于转发性质的,转发地址为(http://www.th7.cn/Program/Python/201405/204959.shtml),由于该文未做任何禁止转发声名,同时又因为本人在阅...

Python封装成可带参数的EXE安装包

最近有一个小项目,有如下的需求: 将某几个源码文件夹进行打包,文件夹内有py文件、dll文件、exe文件等各种文件类型打包生成的安装包,在进行安装的时候,应该能够带有参数,对配置文件进行修改...

实现的简单python例子

本人学python没多久,不足的望指点 1.输入三个变量,然后安小到大排序

156个Python网络爬虫资源,妈妈再也不用担心你找不到资源!

本列表包含Python网页抓取和数据处理相关的库。 网络相关 通用 urllib - 网络库(标准库) requests - 网络库 grab - 网络库(基于pycur...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)