文件操作基础命令:Python文操作件命令小全
1 open文件操作
open文件操作命令,w模式写入数据时,若文件不存在,则新建文件.
1.0 新建文件及写入数据write
# 新建文件对象f,通过f进行读写操作
# w模式,每次运行程序,文件指针在初始位置
# 数据实时更新,第一次写入的数据会被第二次写入的数据擦除
with open("test.txt", "w") as f:
# 写入数据:write方法
f.write("xindaqi")
# a模式
# 写入文件,指针在文件末尾
# 后面写入的数据不会覆盖前面写入的数据
with open("test.txt", "a") as f:
f.write("xindaqi")
1.2 文件读取read
1.2.1 读取全部数据
- Demo1
with open("test.txt", 'r') as f:
lines = f.read()
print("File data: {}".format(lines))
- Demo2
with open("test.txt", 'r') as f:
lines = []
# readlines()读取文件全部内容
# 返回一个list
for line in f.readlines():
# 去除换行符
line = line.strip('\n')
lines.append(line)
print("File data: {}".format(line))
while '' in lines:
# 删除空值
lines.remove('')
print("File data: {}".format(lines))
- Demo3
with open("test.txt", 'r') as f:
lines = []
while True:
line = f.readline().strip('\n')
lines.append(line)
if not line:
break
while '' in lines:
lines.remove('')
print("File data: {}".format(lines))
1.2.2 读取文件的一行
with open("test.txt", 'r') as f:
# 读取文件的一行
# 返回字符串str
line = f.readline()
print("File data: {}".format(line))
2 os文件操作
2.1 创建空文件
import os
os.mknod("test.txt")
2.2 判断文件夹新建及新建
import os
# 文件夹
dir = "xdq"
# 多级目录
dirs = "/xdq/x"
# 判断xdq文件夹是否存在
if not os.path.exists(dir):
# xdq文件夹不存在,则新建文件夹
os.mkdir(dir)
if not os.path.exists(dirs):
os.makedirs(dirs)
2.3 判断文件存在及新建
import os
file = 'xdq.txt'
# 判断文件是否存在
if not os.path.exists(file):
# 文件不存在,使用touch新建文件
os.system(r'touch {}'.format(file))
3 json格式文件保存与读取
3.1 保存json格式文件
import json
# 原始数据的文件路径
source_data = "source_data.txt"
# 生成json格式文件的路径
json_data = "json_data.json"
with open(source_data, 'r') as f:
# 新建列表,用于缓存处理的数据
lines = []
for line in f.readlines():
# 去除换行符号
line.split('\n')
lines.append(line)
# 保存json格式文件
with open(json_data, 'w', encoding='utf-8') as json_file:
json.dump(lines, json_file, ensure_ascii=False)
3.2 读取json格式文件
import json
json_data = "json_data.json"
with open(json_data, 'r', encoding='utf-8') as json_file:
data = json.load(json_file)
print("Josn data: {}".format(data))
4 总结
- 操作文件是数据处理的基础,readline读取一行文件,形成字符串(str),realdlines读取全部文件,形成一个列表(list),对readlines进程列表相关操作;
- 文件读取需要注意空值和换行符号的处理,strip和split处理单元均为字符串,strip是删除字符串首尾的特性字符,返回字符串;split则对特性符号切片,返回列表(list);
- 自动新建文件及判断文件是否存在再创建;
- 保存
*.json
格式文件,使用json
模块的dump
方法进行写入,load
方法进行读取;
[参考文献]
[1]https://www.cnblogs.com/juandx/p/4962089.html
[2]https://blog.csdn.net/u013247765/article/details/79050947
[3]http://blog.51cto.com/steed/1977225
[4]https://www.cnblogs.com/MisterZhang/p/9134709.html
[5]https://www.cnblogs.com/yizhenfeng168/p/6942597.html
[6]https://blog.csdn.net/Xin_101/article/details/82585098