• 小作业 9


    1.有以上文件record.txt,将此文件三人对话每个人的内容单独保存一个文件,并每个文件中不包含对话人名

    陈皓:没写完~
    苗子瑾:第五个没写完
    陈皓:第六个
    陈皓:一遇到数学就蒙
    苗子瑾:想想就头疼
    苗子瑾:等我回宿舍交作业吧……
    周愉:看见那个绿色的灯了么
    周愉:全灭了我就到家了
    陈皓:我家网络出门题了
    陈皓:刚给联通打完电话,效率问题~
    陈皓:效率问题
    苗子瑾:这个图打不开
    苗子瑾:这个图
    with open('record.txt', encoding='utf-8') as f:
        c = []
        m = []
        z = []
        for i in range(1, 14):
            s = f.readline()
            l = s.split(':')# 以冒号分割
            #print(l)
            l1 = l[1] # 索引值为 0 的是人名,索引值为 1 的是对话内容
            if l[0] == '陈皓':
                #print(l[0])
                c.append(l1)
                #print(c)
            if l[0] == '苗子瑾':
                m.append(l1)
            if l[0] == '周愉':
                z.append(l1)
    s1 = ''.join(c)
    s2 = ''.join(m)
    s3 = ''.join(z)
    #print(s1,s2,s3)
    # 创建新的文本并写入
    with open('c', mode='w+', encoding='utf-8') as f1:
        f1.write(s1)
    with open('m', mode='w+', encoding='utf-8') as f2:
        f2.write(s2)
    with open('z', mode='w+', encoding='utf-8') as f3:
        f3.write(s3)

    2.读入用户输入的文件的路径和一个字符串和行数,将文件中的第n行行首插入用户输入的字符串

    def fun():
        fpath = input('请输入一个文件路径:')
        str = input('请输入一个字符串:')
        n = int(input('请输入要插入的行数:'))
        l = [] # 定义一个空列表
        with open(fpath,'r') as f:
            for i in f:
                l.append(i) # 把打开的文件存入列表中
            #print(l)
        l.insert(n-1,str) # 要在第几行插入字符串
        s = ''.join(l)
        with open(fpath,'w+') as f:
            f.write(s) # 把新的内容写入文件
    try:
        fun()
    except Exception as e:
        print('输入内容与提示不符!{}'.format(e))

    3.下面只有一种方式不能打开文件,请尝试,并说明原因?

    01.  f = open('E:/test.txt', 'w')

    02.  f = open('E: est.txt', 'w') # 必须双 \ 或者前面加 r ,否则Python会将反斜杠作为转义符

    03.  f = open('E://test.txt', 'w')

    04.  f = open('E:\test.txt', 'w')

    4.打开一个文件使用open()函数的时候,通过设置文件的打开方式,决定打开的文件具有哪些性质,请总结都有哪些方式,并说明区别

    'r'->只读
    'w'->只写,文件已存在则清空,不存在则创建。
    'a'->追加,写到文件末尾
    'b'->二进制模式,比如打开图像、音频、word文件。
    '+'->更新(可读可写)
    'r+'不清空,不创建
    默认是只读方式打开文件:open(file, mode=’r’)

    5.如何将一个文件对象f中的数据存放到列表中

    # 第一种方式 (遍历用append存入)
    with open('../text','r') as f:
        l = []
        for i in f:
            l.append(i)
        print(l)
    # 第二种方式(用list函数)
    with open('../text','r') as f:
        l = list(f)
        print(l)

    6.如果得到文件对象f的每一行数据,尝试使用多种方法

    with open('../text','r') as f:
        n = f.readlines()
        #print(n[1])
        l = []
        for i in range(len(n)):
            l.append(n[i])
        print(l)


  • 相关阅读:
    golang匿名变量
    golang实现九九乘法表
    bootstrap输入框从数据库读取数据
    celery 使用multiprocessing 问题记录
    django 使用jquery ajax post数据问题
    centos 7 epel地址
    python 2.6升级到2.7
    python给多个发送邮件附件,参考于《python自动化运维》
    nginx+webpy 出现 upstream timed out
    webpy + nginx + fastcgi 构建python应用
  • 原文地址:https://www.cnblogs.com/wt1103/p/10158609.html
Copyright © 2020-2023  润新知