Python文件操作

文件就是把一些存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力。
操作文件通常有3个步骤:打开文件、读取文件、关闭文件。

打开文件

使用open()命令,打开文件。

变量 = open(‘文件.txt’, ‘r’, encoding=’utf-8′)

open()命令的括号中有三个参数:
第一个参数:文件名,包括文件名称和后缀。
第二个参数:打开模式,字符r表示读取模式。
第三个参数:编码格式,固定编写 encoding=’utf-8’。

读取文件

read()命令

使用read()命令,读取文件内容。

变量.read()

read()命令会将文件中的内容以字符串的形式返回。

readline()命令

readline()命令可以读取文件一行的内容。
打开一个文件后,第几次使用就会读取第几行。

py

f = open('xwz.txt', 'r', encoding='utf-8')
line1 = f.readline()
line2 = f.readline()
f.close()  
print(line1)         //输出文件第一行内容
print(line2)         //输出文件第二行内容
print('打印完毕')

readlines()命令

readlines()命令可以读取文件的全部内容。
并按行存放在一个列表中。
列表中的一个元素对应文件中的一行内容。
【静夜思.txt】 文件中内容

静夜思
李白
床前明月光
凝是地上霜
举头望明月
低头思故乡

py

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() 去除元素的换行符后要再赋值给这个元素。

py

for i in rang(len(lines))
    lines[i] = lines[i].strip('\n')

关闭文件

使用close()命令,关闭文件。

变量.close()

操作完文件后,使用close()命令关闭文件。

py

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()命令会将内容追加在文件末尾。

py

f = open('xwz.txt', 'a', encoding='utf-8')      //字符a,以追加模式打开文件
f.write('me')     //使用write()命令将 me 追加到文件中的末尾
f.close()        //关闭文件

writelines()命令

writelines() 可以写入字符串、列表和元组
参数是列表或元组时,元素必须都是字符串。

py

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,而是会起到换行的作用。

py

f = open('xwz.txt', 'a', encoding='utf-8')      //字符a,以追加模式打开文件
f.write('\nme')     //使用write()命令将 me 追加到文件中的末尾
f.close()        //关闭文件
py

    print('狮子\n海鸥')    //打印时,起到换行的作用

输出结果:

狮子
海鸥

strip()命令

strip()命令可以去除字符串开头或末尾的指定字符。

字符串.strip(‘要去除的字符’)

写入文件

修改open()命令的第二个参数,在写入模式下打开文件。

变量 = open(‘文件.txt’, ‘w’, encoding=’utf-8′)

字符w,可以控制程序以写入模式打开文件。

使用write()命令,将新内容写入文件。

变量.write(‘内容’)

在写入模式下,write()命令会将文件中原有内容清除,再写入新内容。

py

f = open('xwz.txt', 'w', encoding='utf-8')      //字符w,以写入模式打开文件
f.write('文件中之前的内容已被清除,我是新的内容!')     //使用write()命令将新内容写入文件
f.close()        //关闭文件

运行后,【xwz.txt】文件中之前的内容将将被新的内容替代, 文件中的内容如下:

文件中之前的内容已被清除,我是新的内容!

在写入模式下,当open()命令中的文件名不存在时,程序运行后,会创建一个新文件。
在写入模式下,write()命令会将【xwz.txt】文件中,原有的内容清除,再写入新内容 ‘文件中之前的内容已被清除,我是新的内容!’ 。
Python文件操作

暂无评论,抢沙发?
gravatar头像

发表评论

您的电子邮箱地址不会被公开。