美文网首页学Python
学Python的020天

学Python的020天

作者: XIAO油菜花 | 来源:发表于2019-10-31 21:08 被阅读0次

    原创:XIAO油菜花
    学习进度记录:
    《零基础入门学习Python》P30:文件:一个任务
    《Python开发入门与爬虫项目实战》:Python中的函数:递归查找

    实战

    • 编写一个程序,接受用户的输入并保存为新的文件,程序实现如图:


    def file_write(file_name):
        f = open(file_name, 'w')
        print('请输入内容【单独输入\':w\'保存退出】:')
    
        while True:
            write_some = input()
            if write_some != ':w':
                f.write('%s\n' % write_some)
            else:
                break
    
        f.close()
    
    file_name = input('请输入文件名:')
    file_write(file_name)
    
    • 编写一个程序,比较用户输入的两个文件,如果不同,显示出所有不同处的行号与第一个不同字符的位置,程序实现如图:


    def file_compare(file1, file2):
        f1 = open(file1)
        f2 = open(file2)
        count = 0 # 统计行数
        differ = [] # 统计不一样的数量
    
        for line1 in f1:
            line2 = f2.readline()
            count += 1
            if line1 != line2:
                differ.append(count)
    
        f1.close()
        f2.close()
        return differ
    
    file1 = input('请输入需要比较的头一个文件名:')
    file2 = input('请输入需要比较的另一个文件名:')
    
    differ = file_compare(file1, file2)
    
    if len(differ) == 0:
        print('两个文件完全一样!')
    else:
        print('两个文件共有【%d】处不同:' % len(differ))
        for each in differ:
            print('第 %d 行不一样' % each)
    
    • 编写一个程序,实现“全部替换”功能,程序实现如图:


    
    def file_replace(file_name, rep_word, new_word):
        f_read = open(file_name)
    
        content = []
        count = 0
    
        for eachline in f_read:
            if rep_word in eachline:
                count = eachline.count(rep_word) #count感觉应该用这个
                eachline = eachline.replace(rep_word, new_word)#注意这个replace用法
            content.append(eachline)    
    
        decide = input('\n文件 %s 中共有%s个【%s】\n您确定要把所有的【%s】替换为【%s】吗?\n【YES/NO】:' \
                       % (file_name, count, rep_word, rep_word, new_word))
    
        if decide in ['YES', 'Yes', 'yes']:
            f_write = open(file_name, 'w')
            f_write.writelines(content)
            f_write.close()
    
        f_read.close()
    
    
    file_name = input('请输入文件名:')
    rep_word = input('请输入需要替换的单词或字符:')
    new_word = input('请输入新的单词或字符:')
    file_replace(file_name, rep_word, new_word)
    

    如果你关注了我,希望你监督我,鼓励我,与我一起学习,一起成长!❤

    相关文章

      网友评论

        本文标题:学Python的020天

        本文链接:https://www.haomeiwen.com/subject/gjtxbctx.html