12.20

陈皓:没写完~
苗子瑾:第五个没写完
陈皓:第六个
陈皓:一遇到数学就蒙
苗子瑾:想想就头疼
苗子瑾:等我回宿舍交作业吧……
周愉:看见那个绿色的灯了么
周愉:全灭了我就到家了
陈皓:我家网络出门题了
陈皓:刚给联通打完电话,效率问题~
陈皓:效率问题
苗子瑾:这个图打不开
苗子瑾:这个图
1.有以上文件record.txt,将此文件三人对话每个人的内容单独保存一个文件,并每个文件中不包含对话人名 
import io
with open(r'I:\python\作业\record', mode='r+',encoding='utf-8') as f:
    for line in open(r'I:\python\作业\record', mode='r+',encoding='utf-8'):
        line=f.readline()
        a=line.split(':')[0]
        b=line.split(':')[1]
        if a =='陈皓':
            ch = open(r'I:\python\作业\陈皓', mode='r+', encoding='utf-8')
            ch.seek(0,2)
            ch.write(b)
        elif a=='苗子瑾':
            mzj=open(r'I:\python\作业\苗子瑾', mode='r+', encoding='utf-8')
            mzj.seek(0,2)
            mzj.write(b)
        elif a=='周愉':
            zy=open(r'I:\python\作业\周愉', mode='r+', encoding='utf-8')
            zy.seek(0,2)
            zy.write(b)

 

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

file_path = input("请输入一个文件的路径:")
s = input("请输入一串字符串:")
n = int(input("请输入行数:"))
with open(file_path,mode='r+',encoding='utf-8') as f:#打开文件
    l=f.readlines()#
    print (l)
    a=s+l[n-1]
    l[n-1]=a
    b=''.join(l)
with open(file_path, mode='w+', encoding='utf-8') as ff:
    ff.write(b)

 

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中"\"为转义字符。解决方法可以\\或者在前面写一个r

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

r只读模式打开(默认)

w已写的模式打开(会覆盖原来的文件)

x如果文件已经打开的话,会发生异常

a已写的模式打开,如果文件存在的话,在末尾添加

b已二进制的形式打开。

t已文本模式打开,(默认)

+可读写模式

 

 

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

with open('I://python//作业//b',mode='r',encoding='utf-8')as f:
    l=[]
    for i in f.readlines():
        l.append(i)
    print(l)

 

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

posted on 2018-12-21 20:23  fpybky  阅读(134)  评论(0编辑  收藏  举报

导航