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的每一行数据,尝试使用多种方法