一、要求
1.实验内容
已知一个文件 test.txt,内容如下:
------------------
2012 来了。
2012 不是世界末日。
2012 欢乐多。
------------------
1.请输出其内容。
2.请计算该文本的原始长度。
3.请去除该文本的换行。
4.请替换其中的字符"2012"为"2015"。
5.请提取内容为数字的子串(2012,2013)。
2.实验要求
1.命令行:python 2012.py filename
a) 2012.py 为编写的 Python 代码文件
b) Filename 为文件路径
2.按序号完成上述 5 个任务
3.任务 3,去掉换行符后再保存到新的文件
4.任务 4,替换后再保存到新的文件
5.任务 1、2、5,提取后直接输出到 stdout
二、新知识
1.python中文件的读写ab,rb等
2.写入时如何加入\n,因为版本不同,所以要加\r\n
3.如何查找整个字符串并替换数字。
三、代码如下
# -*- coding: utf-8 -*-
# -*- coding:gb2312 -*-
import sys
import re
if __name__=="__main__":
fo=open("test.txt","r+")
i=0
mystring=fo.read(100)
n=len(mystring)
print mystring
print "该文本的原始长度为:",n
#删去换行符test1,替换test2
position=fo.seek(0,0)
while i<3:
str=fo.readline(50)
fo1=open("test1.txt","ab")
fo1.write(str)
fo2=open("test2.txt","ab")
revised=str.replace('2012','2015')
fo2.write(revised+'\r\n')#估计是版本的原因,所以必须要加\r\n
i=i+1
fo1.close()
fo2.close()
print "去掉换行符的新文件为: test1.txt"
print "替换后的新文件为: test2.txt\n数字字串为:",
print re.findall(r'(\w*[0-9]+)\w*',mystring)#提取字符串
fo.close()