1
2
3
4
5
6
7
8
9
10
11
12
13
陈皓:没写完~
苗子瑾:第五个没写完
陈皓:第六个
陈皓:一遇到数学就蒙
苗子瑾:想想就头疼
苗子瑾:等我回宿舍交作业吧……
周愉:看见那个绿色的灯了么
周愉:全灭了我就到家了
陈皓:我家网络出门题了
陈皓:刚给联通打完电话,效率问题~
陈皓:效率问题
苗子瑾:这个图打不开
苗子瑾:这个图

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

with open('record.txt',encoding= 'utf - 8') as ff:
    while True:
        line1 = ff.readline( )
        if line1 == '':
            break
        list1 = line1.split(':')
        print(list1[1])
        data1 = list1[1]
        if list1 [0] == '陈皓':
            with open('text4',encoding= 'utf - 8',mode= 'a+') as zz:
                zz.write(data1 )

        elif list1 [0] =='苗子瑾':
            with open('text2', encoding='utf - 8', mode='a+') as hh:
                hh.write(data1)
        elif list1[0] =='周愉':
            with open('text3', encoding='utf - 8', mode='a+') as ii:
                ii.write(data1)

 

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

import sys
l = sys.argv

def cr(luj , num , tex):
    num = int(num )
    with open(luj ,mode= 'r+',encoding= 'utf - 8') as ff:
        for i in range(num - 1):
            ff.readline()
        aa = ff.tell()
        text1 =ff.readlines()
        text1 = ''.join(text1)
        print(text1)
        ff.seek(aa)
        ff.write( tex )
        ff.seek(0, 1)
        ff.write(text1)

cr(l[1],l[2],l[3])

 

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

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

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

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

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

 

一个反斜杠对于python中有转义符的作用,比如\t,\n,所以报错,双反斜杠就是解决这个问题,或
者在路径前加上’r’避免这种问题


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

使用open打开时,有r,a,w三种分别为只读,只写,和在末尾写。+号为读写模式,
r+模式打开时该文件必须存在,可以指定位置,w+则是会清空原来的内容,a+默认是在最后添加
b是二进制文件,r+b就是以二进制读写模式打开。

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

在进行读时采用readlines(),并将这个值赋给一个变量,这个变量指
向的就是对象f中数据以列表的格式

6.如果得到文件对象f的每一行数据,尝试使用多种方法
a = int(input('请输入第几行'))

with open('f') as ff:
    aa = ff.readlines()
    print(aa[a-1])





a = int(input('输入第几行:'))

with open ('f') as ff:
    for i in range(a - 1):
        ff.readline()
    print(ff.readline())

 

 





posted on 2018-12-20 16:36  学生1252485815  阅读(88)  评论(0编辑  收藏  举报