Python文件操作

2022-11-11 20:00:59 浏览数 (1)

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

打开文件

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

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

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

读取文件

read()命令

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

变量.read()

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

readline()命令

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

py

代码语言:javascript复制
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

代码语言:javascript复制
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

代码语言:javascript复制
for i in rang(len(lines))
    lines[i] = lines[i].strip('n')

关闭文件

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

变量.close()

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

py

代码语言:javascript复制
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

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

writelines()命令

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

py

代码语言:javascript复制
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

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

py

代码语言:javascript复制
    print('狮子n海鸥')    //打印时,起到换行的作用

输出结果:

狮子 海鸥

strip()命令

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

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

写入文件

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

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

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

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

变量.write(‘内容’)

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

py

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

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

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

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

0 人点赞