文件操作
Posted lbzbky
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件操作相关的知识,希望对你有一定的参考价值。
1. 文件操作的函数
open(文件名(路径), mode="?", encoding="字符集")
2. 模式: r, w, a, r+, w+, a+, rb, wb, ab, r+b, w+b, a+b
# rb, wb, ab, bytes如果处理的是非文本文件, mode里如果有b. encoding就不能给了
r
w
a
r+
b
3. 常用的操作
1. 光标(seek)*
seek(0) 开头
seek(0,2) 结尾
2. tell() 光标的位置
3. truncate 截断文件
4. 修改文件
1. 引入os模块
2. 打开目标文件, r
3. 打开文件副本, w
4. 从r中读取内容进行修改. 写入到副本中
5. 删除源文件
6. 重命名副本
#将文件中的alex全替换为sb import os with open("昨天又干嘛去了", mode="r", encoding="utf-8") as f1,open("昨天又干嘛去了_副本", mode="w", encoding="utf-8") as f2: for line in f1: line = line.replace("alex", "sb") f2.write(line) os.remove("昨天又干嘛去了") os.rename("昨天又干嘛去了_副本","昨天又干嘛去了")
5. 常用日志文件操作示例(将日志文件中的内容以字典形式放到一个列表中)
lst = [] with open("2019-10-09.log", mode="r", encoding="utf-8") as f: first = f.readline().strip().split(",") for line in f: dic = {} # 每一行一个字典 # 1,alex,10086,特斯拉 ls = line.strip().split(",") for i in range(len(first)): dic[first[i]] = ls[i] lst.append(dic) print(lst)#[{‘id‘:1,‘name‘:‘alex‘,‘salary‘:10086,‘car‘:‘特斯拉‘},{‘id‘:‘2‘,‘name‘:‘eric‘,‘salary‘:11111,‘car‘:‘tesla‘}]
6.others
文件路径:
1. 绝对路径,从磁盘的根目录寻找 或者 从互联网上寻找一个路径
2. 相对路径(用的多). 相对于当前程序所在的文件夹 ../上一层文件夹
以上是关于文件操作的主要内容,如果未能解决你的问题,请参考以下文章