python文件操作

时间:2018-12-05
本文章向大家介绍python文件操作,主要包括python文件操作相关应用实例、知识点总结和注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1.open 打开

f = open(文件路径, mode="模式", encoding="编码格式") 最最底层操作的就是bytes

打开一个文件的时候获取到的是一个文件句柄.

文件句柄是一个可迭代对象

优点: 相对来说节省内存, 操作相对简单

for line in f: 
    print(line.strip())
f.close()

绝对路径

从磁盘根目录开始寻找

相对路径

相对于当前程序所在的文件夹

../ 上一层文件

文件夹/ 进入xxx文件夹

2. mode:

r: 读取,只读.

读取文件的相关操作

1. read()

默认: 读取文件内容(全部)

read(n) 读取n个字符

2. readline() 读取一行

3. readlines() 读取全部. 返回列表

4. for line in f: 每次读取一行内容

f = open("水果.txt", mode="r", encoding="utf-8")
print(f.read(5))  # 读取5个字符
print(f.read(5))  # 继续读5个
print(f.readline().strip()) # 换行符为分割, strip()可以去掉换行. 读取到的内容第一件事就是去掉空白
print(f.readline()) # 换行符为分割
f.close()

w:

write  写入. 只写

创建文件

会清空文件

f = open('吃的', mode="w", encoding="utf-8") # 可以帮我们创建文件
f.write('河南特色\n')
f.write("东北特色\n")
f.write('陕西特色\n')
f.flush()  # 刷新, 把数据写入文件
f.close()

a:   

append 追加, 在文件的末尾写入内容

也可以创建文件

追加写

f = open("吃的", mode="a", encoding="utf-8") 
f.write('湖南特色\n')
f.write('四川特色\n')
f.flush()
f.close()

r+: 对于文件而言. 应该有的操作就两个:读, 写

读写操作

w+:

写读操作

a+:

追加写读

所有带b的表示直接操作的是bytes, 当处理非文本文件的时候.

rb

wb

ab: 断点续传

r+b

w+b

a+b

3. 文件操作中关于文件句柄的相关操作

seek() 移动光标

f.seek(0) 移动到开头(最多)

f.seek(0, 2) 移动到末尾

seek:两个参数

1. 表示偏移量

2. 从xxx开始偏移, 默认0, 开头 1, 当前位置 2, 末尾

tell

返回光标所在的位置

4. 文件修改

1. 先从文件中读取内容

2. 把要修改的内容进行修改

3. 把修改好的内容写人一个新文件

4. 删除掉原来的文件

5. 把新文件重命名成原来的文件的名字