Python文件读写测试write,read及保存json文件

文件操作基础命令: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


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天然玩家

坚持才能做到极致

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值