from random import choice ,randint
import string
import codecs
#常用汉字Unicode编码表(部分),完整列表详见配套源代码
StringBase='\u7684\u4e00\u4e86\u662f\u6211\u4e0d\u5728\u4eba'
def getEmail():
#常见域名后缀,可以随意扩展该列表
suffix=['.com','.org','.net','.cn']
characters=string.ascii_letters+string.digits+'_'
username=''.join((choice(charaters) for i in range(randint(6,12))))
domain=''.join((choice(characters) for i in range(randit(3,6))))
return username+'@'+domain+choice(suffix)
def getTelNo():
return''.join((str(randint(0,9)) for i in range(11)))
def getNameOrAddress(flag):
'''flag=1表示返回随机姓名,flag=0表示返回随机地址'''
if flag==1:
#大部分中国人姓名为2~5个汉字
rangestart,rangeend=2,5
elif flag==0:
#假设地址在10~30个汉字
rangestart,rangeend=10,30
result=''.join((choice(StringBase) for i in range(randint(rangestart,rangeend))))
return result
def getSex():
return choice(('男','女'))
def getAge():
return str(randint(18,100))
def main(filename):
with codecs.open(filename,'w','uty-8')as fp:
fp.write('Name,Sex,Age,TelNo,Address,Email\n')
#随机生成200个人的信息
for i in range(200):
name=getNameOrAddress(1)
sex=getSex()
age=getAge()
tel=getTelNo()
address=getNameOrAddress(0)
email=getEmail()
line=','.join([name,sex,age,tel,address,email])+'\n'
fp.write(line)
def output(filename):
with codecs.open(filename,'r','utf-8')as fp:
for line in fp:
line=line.split(',')
for i in line:
print(i,end=',')
print()
if_ _name_ _= ='_ _main_ _':
filename='information.txt'
main(filename)
output(filename)
from random import choice, randint
import string
import codecs
# 常用汉字Unicode编码表(部分),完整列表详见配套源代码
StringBase = '\u7684\u4e00\u4e86\u662f\u6211\u4e0d\u5728\u4eba'
def getEmail():
# 常见域名后缀,可以随意扩展该列表
suffix = ['.com', '.org', '.net', '.cn']
characters = string.ascii_letters + string.digits + '_'
username = ''.join((choice(characters) for i in range(randint(6, 12))))
domain = ''.join((choice(characters) for i in range(randint(3, 6))))
return username + '@' + domain + choice(suffix)
def getTelNo():
return ''.join((str(randint(0, 9)) for i in range(11)))
def getNameOrAddress(flag):
'''flag=1表示返回随机姓名,flag=0表示返回随机地址'''
if flag == 1:
# 大部分中国人姓名为2~5个汉字
rangestart, rangeend = 2, 5
elif flag == 0:
# 假设地址在10~30个汉字
rangestart, rangeend = 10, 30
result = ''.join((choice(StringBase) for i in range(randint(rangestart, rangeend))))
return result
def getSex():
return choice(('男', '女'))
def getAge():
return str(randint(18, 100))
def mains(filename):
# codecs.open(filename, 'wb', encoding='utf-8').write('Name,Sex,Age,TelNo,Address,Email\n')
with codecs.open(filename, 'w', encoding='utf-8') as fp:
fp.flush()
# fp.write('Name,Sex,Age,TelNo,Address,Email\n')
# 随机生成200个人的信息
for i in range(200):
name = getNameOrAddress(1)
sex = getSex()
age = getAge()
tel = getTelNo()
address = getNameOrAddress(0)
email = getEmail()
line = ','.join([name, sex, age, tel, address, email]) + '\n'
fp.write(line)
def output(filename):
with codecs.open(filename, encoding='utf-8') as fp:
for line in fp:
line = line.split(',')
for i in line:
print(i, end=',')
print()
if __name__ =='__main__':
filename = 'information.txt'
mains(filename)
output(filename)
with codecs.open(filename,'w','uty-8')as fp:
改为
with codecs.open(filename,'w','utf-8')as fp: