python练习5

1.文件过滤. 显示一个文件的所有行, 忽略以井号( # )开头的行. 这个字符被用做Python , Perl, Tcl, 等大多脚本文件的注释符号.
附加题: 处理不是第一个字符开头的注释.
文件内容:
# 大象放进冰箱分几步? 打开冰箱-> 大象放进去 -> 关闭冰箱
# 对文件进行操作:打开文件-> 操作 -> 关闭文件
大象放进冰箱分几步? 打开冰箱-> 大象放进去 -> 关闭冰箱
对文件进行操作:打开文件-> 操作 -> 关闭文件
$$大象放进冰箱分几步? 打开冰箱-> 大象放进去 -> 关闭冰箱
**对文件进行操作:打开文件-> 操作 -> 关闭文件
对文件进行操作     # 打开文件-> 操作 -> 关闭文件

def grep_file(filename):
    f = open(filename, 'r')
    for eachLine in f:
        if eachLine[0] != '#':
            print eachLine
    f.close()
grep_file('file')
结果:
大象放进冰箱分几步? 打开冰箱-> 大象放进去 -> 关闭冰箱
对文件进行操作:打开文件-> 操作 -> 关闭文件
$$大象放进冰箱分几步? 打开冰箱-> 大象放进去 -> 关闭冰箱
**对文件进行操作:打开文件-> 操作 -> 关闭文件
对文件进行操作     # 打开文件-> 操作 -> 关闭文件

附加题:
def grep_file(filename):
    f = open(filename, 'r')
    for eachLine in f:
        if '#' in eachLine:
            r = eachLine.find('#')
            if r > 0:
                if eachLine[r-1:r+2]!= r"'#'" and eachLine[r-1:r+2]!=r'"#"':
                    print eachLine[:r]
            else:
                print eachLine
        else:
            print eachLine
    f.close()
grep_file('file')
结果:
# 大象放进冰箱分几步? 打开冰箱-> 大象放进去 -> 关闭冰箱
# 对文件进行操作:打开文件-> 操作 -> 关闭文件
大象放进冰箱分几步? 打开冰箱-> 大象放进去 -> 关闭冰箱
对文件进行操作:打开文件-> 操作 -> 关闭文件
$$大象放进冰箱分几步? 打开冰箱-> 大象放进去 -> 关闭冰箱
**对文件进行操作:打开文件-> 操作 -> 关闭文件
对文件进行操作     


2.文件比较. 写一个比较两个文本文件的程序. 如果不同, 给出第一个不同处的行号和列号
文件一:
In [1]: abs(-10)
Out[1]: 90
In [2]: abs
Out[2]: <function abs>
文件二:
In [1]: abs(-10)
Out[1]: 10
In [2]: abs
Out[2]: <function abs>

def Compare_file(filename1,filename2):
    f1 = open(filename1, 'r')
    f2 = open(filename2, 'r')
    rownumber = 0
    colnumber = 0
    line1 = 'hello'
    while line1 != '':
        line1 = f1.readline()
        line2 = f2.readline()
        if line1 == line2:
            rownumber += 1
        else:
            for char1 in line1:
                if char1 == line2[colnumber:colnumber + 1]:
                    colnumber += 1
                else:
                    print 'rownumber is ', rownumber + 1, 'colnumber is ', colnumber + 1
                    colnumber = 0
                    rownumber += 1
                    break
    f1.close()
    f2.close()
Compare_file('file1','file2')

结果:rownumber is  2 colnumber is  9


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值