文件就是把一些存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力。
操作文件通常有3个步骤:打开文件、读取文件、关闭文件。
打开文件
使用open()命令,打开文件。
变量 = open(‘文件.txt’, ‘r’, encoding=’utf-8′)
open()命令的括号中有三个参数:
第一个参数:文件名,包括文件名称和后缀。
第二个参数:打开模式,字符r表示读取模式。
第三个参数:编码格式,固定编写 encoding=’utf-8’。
读取文件
read()命令
使用read()命令,读取文件内容。
变量.read()
read()命令会将文件中的内容以字符串的形式返回。
readline()命令
readline()命令可以读取文件一行的内容。
打开一个文件后,第几次使用就会读取第几行。
f = open('xwz.txt', 'r', encoding='utf-8')
line1 = f.readline()
line2 = f.readline()
f.close()
print(line1) //输出文件第一行内容
print(line2) //输出文件第二行内容
print('打印完毕')
readlines()命令
readlines()命令可以读取文件的全部内容。
并按行存放在一个列表中。
列表中的一个元素对应文件中的一行内容。
【静夜思.txt】 文件中内容
静夜思
李白
床前明月光
凝是地上霜
举头望明月
低头思故乡
f = open('静夜思.txt', 'r', encoding='utf-8') //使用readlines()读取文件时,打开文件要用r模式
lines = f.readlines()
f.close()
print(lines)
运行输出
[‘静夜思\n’, ‘李白\n’,’床前明月光\n’,’凝是地上霜\n’,’举头望明月\n’,’低头思故乡\n’]
去除列表中每个元素末尾的换行符要注意:
1. 使用 for i in range() 的方式遍历列表
2. range() 小括号里填写列表长度
3. 使用 strip() 去除元素的换行符后要再赋值给这个元素。
for i in rang(len(lines))
lines[i] = lines[i].strip('\n')
关闭文件
使用close()命令,关闭文件。
变量.close()
操作完文件后,使用close()命令关闭文件。
f = open('xwz.txt', 'r', encoding='utf-8')
s = f.read() //读取文件内容,将返回值赋值给变量s
f.close() //关闭文件
print(s) //输出文件内容
追加文件
open()命令
修改open()命令的第二个参数,在追加模式下打开文件。
变量 = open(‘文件.txt’, ‘a’, encoding=’utf-8′)
字符a,可以控制程序以追加模式打开文件。
write()命令
使用write()命令,给文件追加新内容。
变量.write(‘内容’)
在追加模式下,write()命令会将内容追加在文件末尾。
f = open('xwz.txt', 'a', encoding='utf-8') //字符a,以追加模式打开文件
f.write('me') //使用write()命令将 me 追加到文件中的末尾
f.close() //关闭文件
writelines()命令
writelines() 可以写入字符串、列表和元组
参数是列表或元组时,元素必须都是字符串。
text = ['学习Python的秘诀是\n','不要只学一个周末\n','而是要周复一周\n','年复一年\n','持续上3年']
f = open('Python学习秘诀.txt', 'w', encoding='utf-8')
f.writelines()
f,close
运行结果,【Python学习秘诀.txt】文件中的内容:
学习Python的秘诀是
不要只学一个周末
而是要周复一周
年复一年
持续上3年
注意最后一行因为没有换行符,所以没有换行。
换行符 \n
如果想要换行追加内容,我们可以使用换行符 \n来实现。
\n可以直接被当作字符串使用。打印时,输出区中并不会 显示出字符串 \n,而是会起到换行的作用。
f = open('xwz.txt', 'a', encoding='utf-8') //字符a,以追加模式打开文件
f.write('\nme') //使用write()命令将 me 追加到文件中的末尾
f.close() //关闭文件
print('狮子\n海鸥') //打印时,起到换行的作用
输出结果:
狮子
海鸥
strip()命令
strip()命令可以去除字符串开头或末尾的指定字符。
字符串.strip(‘要去除的字符’)
写入文件
修改open()命令的第二个参数,在写入模式下打开文件。
变量 = open(‘文件.txt’, ‘w’, encoding=’utf-8′)
字符w,可以控制程序以写入模式打开文件。
使用write()命令,将新内容写入文件。
变量.write(‘内容’)
在写入模式下,write()命令会将文件中原有内容清除,再写入新内容。
f = open('xwz.txt', 'w', encoding='utf-8') //字符w,以写入模式打开文件
f.write('文件中之前的内容已被清除,我是新的内容!') //使用write()命令将新内容写入文件
f.close() //关闭文件
运行后,【xwz.txt】文件中之前的内容将将被新的内容替代, 文件中的内容如下:
文件中之前的内容已被清除,我是新的内容!
在写入模式下,当open()命令中的文件名不存在时,程序运行后,会创建一个新文件。
在写入模式下,write()命令会将【xwz.txt】文件中,原有的内容清除,再写入新内容 ‘文件中之前的内容已被清除,我是新的内容!’ 。