文件操作
文件读写
例:打开D盘test.txt文件
f = open('d:\test.txt')
清空再写入则是‘w’
追加open函数的第二个参数是‘a’,
读取再写入是‘r+’这里的写入是追加写入,且必须先读取才能写入
追加并读取是‘a+’
清空写入并读取是‘w+’
读写文件 | |
'r' | 表示只读模式。 |
'w' | 可以往文件中写入数据,覆盖原来内容。 |
'a' | 往文件末尾添加数据。 |
'+' | 可以配合以上三种模式使用,表示同时允许读和写。 |
文件对象的内置读写方法
方法 | 作用 |
read() | 读取文本数据,若不参加任何参数,将所有内容作为一个字符串返回;若给定某个正整数n,将返回n个字符串。 |
readline() | 单独读取文本的一行字符。 |
readlines() | 以行为单位读取文本数据,保存至一个列表中;没一行的字符串内容作为列表的一个元素。 |
write() | 写入文本数据。 |
writelines() | 列表中每个元素作为一行,逐个写入列表中所有元素。 |
、
文件移动、复制、删除、重命名、创建。
import shutil
import os
shutil.copy(' 原位置 ','复制的位置 ')
shutil.move('原位置','移动的位置')
os.mkdir('新建文件夹')
os.makedirs('第一层文件夹\第二层文件夹\第三层文件夹')
os.rename('原名','重命名')
os.remove('删除文件')
例题
1、现在有一份‘邀请函.txt’的空白文件,请在同级目录下,编写一段代码,将内容‘诚挚邀请您来参加本次宴会’。
f = open('f:\邀请函.txt','w')
f.write('诚挚邀请您来参加本次宴会\n')
2、在第一题的基础上,添加上问候语和发件人,内容是’best regards 李雷’,让内容看起来是:
诚挚邀请您来参加本次宴会
best regards
李雷
f = open('f:\邀请函.txt','w')
f.write('诚挚邀请您来参加本次宴会\n')
f.write('best regards\n')
f.write('李雷\n')
3、在第二题的基础上,这封邮件需要发送给‘丁一’、‘王美丽’、‘韩梅梅’三位朋友,请在邮件内容开头处添加收件人名字,并且生成相应名字的邮件。邮件内容应该为:
丁一:
诚挚邀请您来参加本次宴会
best regards
李雷
import shutil
import os
shutil.copy('F:\邀请函.txt','F:\丁一的邀请函.txt')
shutil.copy('F:\邀请函.txt','F:\王美丽的邀请函.txt')
shutil.copy('F:\邀请函.txt','F:\韩梅梅的邀请函.txt')
f = open('F:\丁一的邀请函.txt','w')
f.write('丁一:\n')
f.write('诚挚邀请您来参加本次宴会\n')
f.write('best regards\n')
f.write('李雷\n')
f = open('F:\王美丽的邀请函.txt','w')
f.write('王美丽:\n')
f.write('诚挚邀请您来参加本次宴会\n')
f.write('best regards\n')
f.write('李雷\n')
f = open('F:\韩梅梅的邀请函.txt','w')
f.write('韩梅梅:\n')
f.write('诚挚邀请您来参加本次宴会\n')
f.write('best regards\n')
f.write('李雷\n')
文件名为: 丁一邀请函.txt
4、在第三题的基础上,假设邀请函现在的目录是D:/test/邀请函.txt,需要在D:/test/路径下的以各位收件人名字命名的文件夹下,将相应的邀请函邮件放入。请给出代码段完成。例如
丁一邀请函.txt 这个文件应该在路径D:/test/丁一/丁一邀请函.txt
os.mkdir('F:\丁一')
os.mkdir('F:\王美丽')
os.mkdir('F:\韩梅梅')
shutil.move('F:\丁一的邀请函.txt','F:\丁一\丁一的邀请函.txt')
shutil.move('F:\王美丽的邀请函.txt','F:\王美丽\王美丽的邀请函.txt')
shutil.move('F:\韩梅梅的邀请函.txt','F:\韩梅梅\韩梅梅的邀请函.txt')