Python学习笔记(十一)——第三十讲

0、

file_name = input('请输入文件名')

f = open(file_name,'w')

print('''请输入内容【单独输入':w'保存退出】''')

str1 = input()

while str1 != ':w':

    f.write('%s\n' % (str1))

    str1 = input()

f.close()

 

运行结果为

请输入文件名something.txt

请输入内容【单独输入':w'保存退出】

从明天起,做一个幸福的人

喂马、劈柴、周游世界

从明天起,关心粮食和蔬菜

我有一所房子,面朝大海,春暖花开

 

从明天起,和每一个亲人通信

告诉他们我的幸福

那幸福的闪电告诉我的

我将告诉每一个人

 

给每一条河每一座山取一个温暖的名字

陌生人,我也为你祝福

愿你有一个灿烂的前程

愿你有情人终成眷属

愿你在尘世获得幸福

我只愿面朝大海,春暖花开

 

:w

 

 

1、

def file_compare(file1,file2,list1):

    count = 0

    f1 = open(file1)

    f2 = open(file2)

    for line1 in f1:

        line2 = f2.readline()

        count += 1#统计进行到第几行

        if line1 != line2:

            list1.append(count)

    f1.close()

    f2.close()

file1 = input('请输入需要比较的头一个文件名')

file2 = input('请输入需要比较的另一个文件名')

a = list()

file_compare(file1,file2,a)

print('两个文件共有【%d】处不同' % (len(a)))

for each in a:

    print('第%d行不一样' % (each))

 

运行结果为

请输入需要比较的头一个文件名something.txt

请输入需要比较的另一个文件名something1.txt

两个文件共有【3】处不同

第3行不一样

第6行不一样

第15行不一样

 

2、

def file_output(file1,n):

    f = open(file1)

    count = 0

    for line1 in f:

        if count != n:

            print(line1)

            count += 1

        else:

            break

    f.close()

file1 = input('''请输入要打开的文件(c:\\test.txt)''')

n = int(input('请输入需要显示该文件前几行:'))

print('文件%s的前%d行的内容如下' % (file1,n))

file_output(file1,n)

 

运行结果为

请输入要打开的文件(c:\test.txt)D:/1/1Python函数练习/something.txt

请输入需要显示该文件前几行:6

文件D:/1/1Python函数练习/something.txt的前6行的内容如下

从明天起,做一个幸福的人

 

喂马、劈柴、周游世界

 

从明天起,关心粮食和蔬菜

 

我有一所房子,面朝大海,春暖花开

 

 

 

从明天起,和每一个亲人通信

 

3、

def file_output1(file1,str1):

    f = open(file1)

    len1 = len(str1)

    count = 0

    if len1 == 3:

        start = int(str1[0])

        over = int(str1[2])

        print('文件%s从第%d行到第%d行的内容如下' % (file1,start,over))

        for line1 in f:

            count += 1

            if count >= start and count <= over:

                print(line1)

    elif str1[0].isdigit():

        start = int(str1[0])

        print('文件%s从第%d行到结束的内容如下' % (file1,start))

        for line1 in f:

            count += 1

            if count >= start:

                print(line1)

    else:

        over = int(str1[1])

        print('文件%s从开始到第%d行的内容如下' % (file1,over))

        for line1 in f:

            count += 1

            if count <= over:

                print(line1)

    f.close()

file1 = input('''请输入要打开的文件(c:\\test.txt)''')

str1 = input('请输入需要显示的行数【格式为13:21或:21或21:】:')

file_output1(file1,str1)

 

运行结果为

请输入要打开的文件(c:\test.txt)D:/1/1Python函数练习/something.txt

请输入需要显示的行数【格式为13:21或:21或21:】:5:9

文件D:/1/1Python函数练习/something.txt从第5行到第9行的内容如下

 

 

从明天起,和每一个亲人通信

 

告诉他们我的幸福

 

那幸福的闪电告诉我的

 

我将告诉每一个人

 

请输入要打开的文件(c:\test.txt)D:/1/1Python函数练习/something.txt

请输入需要显示的行数【格式为13:21或:21或21:】:9:

文件D:/1/1Python函数练习/something.txt从第9行到结束的内容如下

我将告诉每一个人

 

 

 

给每一条河每一座山取一个温暖的名字

 

陌生人,我也为你祝福

 

愿你有一个灿烂的前程

 

愿你有情人终成眷属

 

愿你在尘世获得幸福

 

我只愿面朝大海,春暖花开

 

 

请输入要打开的文件(c:\test.txt)D:/1/1Python函数练习/something.txt

请输入需要显示的行数【格式为13:21或:21或21:】::6

文件D:/1/1Python函数练习/something.txt从开始到第6行的内容如下

从明天起,做一个幸福的人

 

喂马、劈柴、周游世界

 

从明天起,关心粮食和蔬菜

 

我有一所房子,面朝大海,春暖花开

 

 

 

从明天起,和每一个亲人通信

 

 

 

4、

def file_replace(file1,str1,str2):

    f = open(file1)

 

    list1 = list()

    count = 0

    for each_line in f:

        if str1 in each_line:

            count += each_line.count(str1)

            each_line = each_line.replace(str1,str2)

 

        list1.append(each_line)

 

    str3 = input('\n文件%s中共有%d个【%s】\n您确定要把所有的【%s】替换为【%s】吗\n【YES/NO】' % (file1,count,str1,str1,str2))

 

    if str3 == 'YES':

        f2 = open(file1,'w')

        f2.writelines(list1)

        f2.close()

 

    f.close()

 

 

file1 = input('请输入文件名')

str1 = input('请输入需要替换的单词或字符')

str2 = input('请输入新的单词或字符')

file_replace(file1,str1,str2)

 

运行结果为

请输入文件名D:/1/1Python函数练习/something.txt

请输入需要替换的单词或字符愿

请输入新的单词或字符希望

 

文件D:/1/1Python函数练习/something.txt中共有4个【愿】

您确定要把所有的【愿】替换为【希望】吗

【YES/NO】YES

 

>>> f = open('D:/1/1Python函数练习/something.txt')

>>> f.read()

'从明天起,做一个幸福的人\n喂马、劈柴、周游世界\n从明天起,关心粮食和蔬菜\n我有一所房子,面朝大海,春暖花开\n\n从明天起,和每一个亲人通信\n告诉他们我的幸福\n那幸福的闪电告诉我的\n我将告诉每一个人\n\n给每一条河每一座山取一个温暖的名字\n陌生人,我也为你祝福\n希望你有一个灿烂的前程\n希望你有情人终成眷属\n希望你在尘世获得幸福\n我只希望面朝大海,春暖花开\n\n'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值