Python:读写txt文件/json文件

# !/usr/bin/env python
# -*-coding:utf-8 -*-
import os
import json

class HandleFile:

    def __init__(self, filepath):
        """获取文件路径和表单名"""
        self.filepath = filepath

    def read_json(self):
        with open(self.filepath, 'r', encoding='utf-8') as f:
            jsdata = json.load(f)
        return jsdata

    def write_json(self, jsdata):  # utf-8
        with open(self.filepath, 'w', encoding='utf-8') as f1:
            f1.write(json.dumps(jsdata, indent=4, ensure_ascii=False))

    def read_txt(self):
        try:
            with open(self.filepath, "r",encoding='utf-8') as f:  # 打开文件
                # linedatas = f.readlines()
                linedatas = [l.strip() for l in f.readlines()]
            return linedatas
        except:
            print(f"{self.filepath},读取异常")

    def write_txt(self,lindata):
        """写入一行数据"""
        with open(self.filepath, "a",encoding='utf-8') as f:  # 追加写入
            f.write(f"{lindata}\n")

    def writelines_txt(self,lindatas):
        """将字符串列表分行写入文件中"""
        lindatas = [ d+'\n' for d in lindatas]
        with open(self.filepath, "w",encoding='utf-8') as f:  # 清空内容再写入
            f.writelines(lindatas)


if __name__ == '__main__':
    txtpath = r"C:\Users\ychen\Desktop\test.txt"
    txt = HandleFile(txtpath).read_txt()
    print(txt)
    HandleFile(txtpath).write_txt('testtest\n')
    txt = HandleFile(txtpath).read_txt()
    print(txt)
    ldatas = ["aaa","bbb","ccc"]
    HandleFile(txtpath).writelines_txt(ldatas)
    txt = HandleFile(txtpath).read_txt()
    print(txt)

主要的几种文件读写模式:
r:读取文件,若文件不存在则会报错
w:覆盖写,若文件不存在则会先创建再写入
a:追加写,若文件不存在则会先创建再写入
rb,wb:分别于r,w类似,用于读写二进制文件
r+:可读、可写,文件不存在会报错,写操作时会覆盖
w+:可读,可写,文件不存在先创建,会覆盖
a+:可读、可写,文件不存在先创建,不会覆盖,追加在末尾

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值