以下python代码主要用于向一个文件输出一组数据信息
#!/python
from random import randint, choice
from string import lowercase
from sys import maxint
from time import ctime
import time
import os
doms = ('com', 'edu', 'net', 'org', 'gov')
#file create
fname = time.strftime('%Y-%m-%d', time.localtime(time.time())) + '_lch'
#if not os.path.exists(fname):
fobj = open(fname,'w')
for i in range(randint(5,10)):
dtint = randint(0,maxint-1)
dtstr = ctime(dtint)
showter = randint(4,7)
em = ''
for j in range(showter):
em += choice(lowercase)
longer = randint(showter, 12)
dn = ''
for j in range(longer):
dn += choice(lowercase)
temp = '%s::%s@%s.%s::%d-%d-%d' % (dtstr, em, dn, choice(doms), dtint, showter, longer)
print temp
fobj.write('%s\n' % temp)
fobj.close()
文件名 2010-12-01_lch
输出信息如下(因为是随机的,可能不一样):
Mon Mar 26 05:36:19 1984::gebeqir@keyduzm.org::449098579-7-7
Thu Sep 11 01:34:17 2008::moped@nmyqfiisl.org::1221068057-5-9
Tue May 04 03:54:38 1993::ttbi@huofkb.net::736458878-4-6
Sat Oct 27 04:48:53 2029::bzdu@zvrvtiamxk.org::1887742133-4-10
Wed Mar 22 02:43:10 1972::qbfcdi@soougt.com::70051390-6-6
Fri Mar 08 13:23:53 2030::bpqa@noygt.edu::1899177833-4-5
Sat Sep 25 23:27:34 2032::roepo@jnoyxsisom.gov::1979738854-5-10
Fri Jan 11 10:10:08 2002::dreizey@dqwfurbz.com::1010715008-7-8
Thu Jan 04 13:37:52 2024::thbjkie@jcbtzlruhqnc.gov::1704346672-7-12
Tue Jan 03 17:12:38 2006::faiq@pohfvoddful.gov::1136279558-4-11
接下来我们通过这个程序来提取2010-12-01_lch文件的邮件地址信息
import re
fobj = open('2010-12-01_lch','r')
patt = '\w+@\w+\.(com|edu|net|org|gov)'
for eachLine in fobj.readlines():
print re.search(patt, eachLine).group()
fobj.close()
提取的邮件地址信息如下:
gebeqir@keyduzm.org
moped@nmyqfiisl.org
ttbi@huofkb.net
bzdu@zvrvtiamxk.org
qbfcdi@soougt.com
bpqa@noygt.edu
roepo@jnoyxsisom.gov
dreizey@dqwfurbz.com
thbjkie@jcbtzlruhqnc.gov
faiq@pohfvoddful.gov
下面这段代码练习异常:
#!python
#
# myexc.py
#
import os, socket, errno, types, tempfile
from tempfile import mktemp
class NetworkError(IOError):
pass
class FileError(IOError):
pass
def upArgs(args, newarg=None):
if isinstance(args, IOError):
myargs = []
myargs.extend([arg for arg in args])
else:
myargs = list(args)
if newarg:
myargs.append(newarg)
return tuple(myargs)
def fileArgs(file, mode, args):
if args[0] == errno.EACCES and 'access' in dir(os):
perms = ''
permd = {'r':os.R_OK, 'w':os.W_OK, 'x':os.X_OK}
pkeys = permd.keys()
pkeys.sort()
pkeys.reverse()
for eachPerm in 'rwx':
if os.access(file, permd[eachPerm]):
perms += eachPerm
else:
perms +='-'
if isinstance(args, IOError):
myargs = []
myargs.extend([arg for arg in args])
else:
myargs = list(args)
myargs[1] = "'%s' %s (perms: '%s')" % (mode, myargs[1], perms)
myargs.append(args.filename)
else:
myargs = args
return tuple(myargs)
def myconnect(sock, host, port):
try:
sock.connect((host, port))
except socket.error, args:
myargs = upArgs(args)
if len(myargs) == 1:
myargs = (errno.ENXIO, myargs[0])
raise NetworkError, upArgs(myargs, host +':'+str(port))
def myopen(file, mode='r'):
try:
fo = open(file, mode)
except IOError, args:
raise FileError, fileArgs(file, mode, args)
return fo
def testfile():
file = mktemp()
f = open(file, 'w')
f.close()
for eachTest in ((0, 'r'), (0100, 'r'),
(0400, 'w'), (0500, 'w')):
try:
os.chmod(file, eachTest[0])
f = myopen(file, eachTest[1])
except FileError, args:
print "%s: %s" % \
(args.__class__.__name__, args)
else:
print file, "opened ok... perm ignored"
f.close()
os.chmod(file, 0777) # enable all perms
os.unlink(file)
def testnet():
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
for eachHost in ('deli', 'www'):
try:
myconnect(s,'192.1.9.125',80)
except NetworkError, args:
print "%s: %s" % (args.__class__.__name__, args)
if __name__ == '__main__':
testnet()
testfile()
下面这一段主要是我在写这些小的练习时的一些随笔(都写在了一个文件里面了)
#import string
#for x in range(1, 11):
# print string.rjust('x', 2)
#import os
#fobj = open('text.txt','w')
#fobj.writelines('test')
#fobj.close()
#import time
#print time.time()
#print time.localtime(time.time())
#print time.strftime('%Y-%m-%d', time.localtime(time.time()))
import re
patt = '\w+@\w+\.(com|gov|edu|net|org)'
temp = 'Mon Mar 26 05:36:19 1984::gebeqir@keyduzm.org::449098579-7-7'
print re.search(patt,temp).group()
分享到:
相关推荐
通过正则表达式,进行反向的生成满足正则表达式的数据。
主要介绍了使用正则表达式生成随机数据的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
通用的Java工具类,主要包括基础工具类(时间、正则表达式、字符串、随机数等等),excel解析生成、word解析 生成、文件操作
1、创建一个模块mymodule,该模块包含两个函数hello(),和world(),然后设置路径,导入该模块,并调用该模块的hello函数。 2、创建一个包mypack,该包包含两...5、使用随机数生成一个列表,列表中的元素是10到100之间的。
【Python 第36课】异常处理 87 【Python 第37课】字典 90 【Python 第38课】模块 93 【Python 第39课】用文件保存游戏(1) 96 【Python 第40课】用文件保存游戏(2) 98 【Python 第41课】用文件保存游戏(3) 101 ...
[Python入门教程]Python生成随机数模块(random)使用方法.pdf
导⼊第⼀个库:随机数库 import random a = random.randint(1,7) print(a) 5.经典猜拳游戏,理解随即库与缩进问题 import random b = random.randint(0,2) print(b) #b = int(b) a = input("输⼊
Python random 生成随机数的几个常用 函数
随机数随机数随机数随机数随机数随机数随机数随机数
使用舍选法生成随机数-Python实现 题目:随机变量X的分布密度为p(x)=1/2+x,x∈[0,1]
python 随机数实现抽奖(tk界面)
该文档从简单的Java程序入手,介绍了如何产生随机数,介绍了正则表达式的关键,在实际开发中,我们需要知道正则表达式的规律和格式,切记不可忽略这些小小的细节问题。同时本文还介绍了异常的几种情况,更清晰的认识...
给刚接触ACM的同学提供字符串处理和有关随机数生成知识。
前段时间奉俊昊的《寄生虫》在奥斯卡上获得不少奖项,我也比较喜欢看电影,看过这部...import re ##正则表达式 import time ##处理时间的标准库 import random ##使用随机数标准库 import requests ##实现登录 import n
1、 Python PySimpleGUI 源码 2、应用Python 随机数模块 random 开发
使用逆变换法生成随机数: 题目:随机变量X的分布密度为p(x)=1/2+x,x∈[0,1]
python中随机数的用法 Python中随机数的用法 在Python中,随机数是一个非常常用的功能。随机数可以用于模拟实验、生成测试数据、加密等多种场景。Python中提供了多种生成随机数的方法,本文将介绍其中的几种常用方法...
前言我们对于随机数肯定不会陌生,随机数早已成为了我们经常要用到的一个方法,比如用于密码加密,数据生成,蒙特卡洛算法等等都需要随机数的参与.那么我们的电脑是怎么才