前言:
文件操作。
目录:
文件读取:
进行文件读取有两种方式,
一种是使用 open() 函数
另外一种是使用 with open 方式
打开文件的模式有:
-
只读模式(默认)
-
只写模式(不可读,不存在则创建,存在则覆盖)
-
追加模式(可读,不存在则创建,存在则只追加内容)
”+” 表示可同时读写某个文件:
-
r+ 可读写文件(可读,可写,可追加)
-
w+ 写读
-
a+ 追加
“U” 表示在读取时,可以将\r \n \r\n自动转换成\n(与r或者r+模式同时使用)
因为Windows系统的换行符为\r\n,Linux系统的换行符为\n,加上U则能自动把\r\n转换成\n
-
rU
-
r+U
“b” 表示处理二进制文件:
-
rb
-
wb
-
ab
open() 方法用于打开一个文件,并返回文件对象,
如果该文件无法被打开,会抛出 OSError 异常 ,
另外需要注意的是,使用 open() 函数需要手动关闭文件。
语法: open(file, mode) mode 为模式
例如:
f = open("D:/test.txt","r+") # 打开 D盘下的 test.txt 文件
read = f.read() # 读取文件内容
print(read) # 打印内容 输出 hello python
f.close() # 关闭文件
读取文件内容 (可指定每次读取字字符)
例如:
f = open("D:/test.txt","r+",encoding="utf-8") # 设置为 utf-8 字符集
read = f.read(5) # 读取 5 个字符
print(read) # 输出 hello
f.close()
readline() 每次读出一行内容 ,
该方法比较适合大文件
例如:
f = open("D:/test.txt","r+",encoding="utf-8")
line = f.readline() # 每次读出一行内容
while line: # 循环读取
print(line)
line = f.readline()
f.close()
readlines() 读取所有内容(可指定读取字符数),
并保存在列表(list)变量中,每行作为一个元素
该方法读取大文件会比较占内存。
例如:
f = open("D:/test.txt","r+",encoding="utf-8")
lines = f.readlines()
for line in lines
print(line)
f.close()
对于特殊需求,比如要输出某个文件的第n行内容
可以用 linecache 模块
例如:
import linecache
f = linecache.getline("D:/test.txt",2) # 输出第2行内容
print(f)
f.close()
如果 是使用 with open 方式,那么可以不用手动关闭文件,
此方法会自动关闭文件。
语法:
with open(file,mode) as f:
f.read()
f 是别名的意思。
文件写入:
write() 方法将字符串写入文件中,
默认是不换行的,如果想换行的话,得手动加入换行符 ‘\n’
例如:
f = open('D:/test2.txt','a+')
f.write('hello world\n')
a+ 为追加模式
如果是 w+ 的话,则会覆盖掉之前的内容,然后重新写入 。
文件删除:
文件删除使用 os 模块的 remove() 函数去完成
前面在 os 模块中也有提到过
例:
>>> import os
>>> os.remove('D:/test.txt') # 删除D盘下的 test 文件
总结:
基础完了,例子很简单,
还是要多多学习啊。