• Python核心编程第二版 第九章课后答案


    9-1.文件过滤。显示一个文件的所有行,忽略以井号(#)开头的行。这个字符被用做Python,Perl,Tcl,等大多数脚本文件的注释符号。附加题:处理不是第一个字符开头的注释。

    f = open(filename, 'r')
    allLines = f.readlines()
    for line in allLines:
    #     print(line,)
        if line[0] != '#':
            print(line,)
     
    f.close()

    9-2.文件访问。提示输入数字N和文件F,然后显示文件F的前N行。

    filename = input('Enter the file name:')
    N = int(input('Enter the number of rows:'))
    f = open(filename, 'r')
    allLines = f.readlines()
    i = 1
    for line in allLines:
        print(line,)
        if i == N:
            break
        i = i + 1
     
    f.close()

    9-3.文件信息,提示输入一个文件名,然后显示这个文本文件的总行数。

    filename = input('Enter the file name:')
    f = open(filename, 'r')
    allLines = f.readlines()
    print(len(allLines))
     
    f.close()

    9–4.   文件访问. 写一个逐页显示文本文件的 程序. 提示输入一个文件名, 每次显示文本文件的 25 行, 暂停并向用户提示"按任意键继续.", 按键后继续执行.

    filename = input('Enter the file name:')
    f = open(filename, 'r')
    allLines = f.readlines()
    i = 0
    for line in allLines:
        if i != 5:
            print(line,)
        else:
            ele = input('Press any key to continue')
            i = 0
            
        i = i + 1
     
    f.close()

    9-6.文件比较,写一个比较两个文本文件的程序,如果不同,给出第一个不同处的行号和列号。

    def fileCompare(file1,file2):
        f1 = open(file1, 'r')
        f2 = open(file2, 'r')
        allLines1 = f1.readlines()
        allLines2 = f2.readlines()
        
        if len(allLines1) >= len(allLines2):
            biglen = len(allLines1)
        else:
            biglen = len(allLines2)
        for i in range(biglen):
            if allLines1[i] != allLines2[i]:
                row = i + 1
                if len(allLines1[i]) >= len(allLines2[i]):
                    biglen2 = len(allLines1[i])
                else:
                    biglen2 = len(allLines2[i])
                for col in range(biglen2):
                    if allLines1[i][col] != allLines2[i][col]:
                        print('row:%d,col:%d' %(row,col+1))
                        return None
        print('文件相同')
         
        f1.close()
        f2.close()
  • 相关阅读:
    C++学习之路(四):线程安全的单例模式
    C++学习之路(三):volatile关键字
    C++学习之路(五):复制构造函数与赋值运算符重载
    类对象作为函数参数进行值传递
    System V共享内存介绍
    关于迭代器失效
    C++学习之路(二):引用
    C++学习之路(一):const与define,结构体对齐,new/delete
    epoll内核源码分析
    Redux中间件之redux-thunk使用详解
  • 原文地址:https://www.cnblogs.com/jiaoyang77/p/7487264.html
Copyright © 2020-2023  润新知