以下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()
分享到:
相关推荐
- 建议的入门书籍:推荐适合初学者的Python入门书籍。 - 编程学习态度:强调对于初学者来说,先不要过多担心语言的优缺点,而是应该注重学习过程。 正则表达式的学习 - 正则表达式的概念:什么是正则表达式,它在...
#### Python第57课:正则表达式(3) - **正则表达式实战**:通过具体的例子来练习正则表达式的应用。 #### Python第58课:正则表达式(4) - **正则表达式进阶**:进一步学习正则表达式的高级特性,如分组、反向...
### Python学习笔记与简明教程知识点汇总 #### Python 第1课:安装 - **知识点**: - Python 安装包的选择... - 示例代码演示正则表达式的入门应用。 #### WhyPython?为什么用Python作为编程入门语言? - **知识点...
- 正则表达式在文本处理中的应用案例。 #### Python第59课:正则表达式(5) - **知识点**: - 正则表达式的特殊应用场景。 - 如何处理多行文本。 - 正则表达式的边界匹配和零宽断言。 #### Python第60课:...
8. **正则表达式**:Python的re模块提供了正则表达式的功能,用于文本匹配和处理。通过"LP4E-examples",你可以了解如何编写和使用正则表达式。 9. **网络编程**:Python的socket模块使得网络通信变得简单。"LP4E-...
#### Python第57课:正则表达式(3) - **知识点**: - 正则表达式的高级特性。 - 分组和捕获。 - 示例代码展示如何使用正则表达式的高级特性进行匹配。 #### Python第58课:正则表达式(4) - **知识点**: - ...
Python还提供了很多有用的模块和库,例如re模块提供了正则表达式匹配函数,例如match()、search()等;os模块提供了操作系统相关的函数,例如listdir()、mkdir()等;sys模块提供了系统相关的函数,例如argv()、exit...
同时,了解正则表达式可以帮助你进行复杂的数据匹配和处理。 在数据处理方面,Python有强大的库如Pandas和Numpy。Pandas提供了DataFrame和Series数据结构,方便进行数据清洗、转换和分析;Numpy则支持高效的数值...
《Python简明教程 3.0版本》是针对初学者精心编写的Python编程入门资料,旨在帮助新手快速掌握这门强大且广泛使用的编程语言。Python 3.0是Python语言的一个重要版本,它引入了许多改进和新特性,使得代码更加简洁、...
正则表达式是文本处理中不可或缺的工具,手册通过多个章节详细介绍了正则表达式的概念、元字符、字符类、分组、反义、后向引用、零宽断言以及贪婪与懒惰匹配等概念,并提供了30分钟入门教程,帮助读者快速掌握正则...
4. **正则表达式**: 在爬虫中,正则表达式常用来匹配和提取特定模式的文本。 5. **网页解析**: 除了BeautifulSoup,还可以使用lxml库进行更高效的XML和HTML解析。 6. **网络爬虫框架**: 如Scrapy,它提供了更高级...
2. **正则表达式**:理解正则表达式的基本语法,用于高效地处理和匹配字符串。 3. **异常处理**:深入理解Python的异常体系,学会编写健壮的代码来处理各种运行时错误。 4. **标准库使用**:如os模块用于操作系统...
- **知识点介绍**:快速入门正则表达式的使用方法。 - **实操要点**:通过实际案例快速掌握正则表达式的基本用法。 以上是基于给定文档信息整理的知识点概述,通过这些内容的学习,初学者可以系统地掌握Python的...
### Python入门基础项目知识点 #### 1. Python基础语法和编程入门 从提供的内容来看,首先介绍了Python语言的基础语法和编程入门。Python作为一种高级编程语言,以其简洁易读和丰富的库支持,成为初学者的首选。...
`lesson_02_string.py`涵盖了字符串处理,包括格式化输出、正则表达式匹配等,这些都是Python日常开发中频繁使用的功能。 `n_queens.py`可能是著名的八皇后问题的实现,它展示了回溯算法的应用,这对于理解和解决...
- 使用`try-except`结构捕获并处理异常; - 自定义异常的抛出与捕获。 - **【Python第37课】字典** - **主要内容**:讲解Python中的字典数据类型。 - **知识点**: - 字典的创建与访问; - 字典的增删改查...
### Python学习笔记与简明教程知识点汇总 #### Python 第1课:安装 - **知识点**: - Python 安装包的选择(官方...这不仅有助于初学者快速入门,也能帮助有一定基础的学习者深入理解和掌握Python语言的核心知识。
5. **Python标准库和第三方库**:Python的标准库非常丰富,如os、sys、time等用于系统操作,random用于生成随机数,re用于正则表达式等。此外,还有大量第三方库,如BeautifulSoup和Scrapy用于爬虫,Matplotlib和...
- **正则表达式30分钟入门教程**:提供一个快速入门的指南,帮助学习者快速掌握正则表达式的基本用法。 - **Why Python?**:解释为什么选择Python作为编程入门语言的理由,包括语言的易用性、丰富的库支持等方面。 ...