python 实验5 字符串练习(一)

一、要求

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()
    

你可能感兴趣的:(python)