文件操作类

import csv
import json

# test文件操作
class FileText:
    def __init__(self, address):
        self.address = address

    def read_text_file(self):
        try:
            with open(self.address, encoding='utf-8') as f:
                return eval(f.read())
        except FileNotFoundError:
            return 0

    def write_text_file(self, content: str, mode='w'):
        with open(self.address, mode, encoding='utf-8') as f:
            f.write(content)


# json文件操作
class FileJson:
    def __init__(self, address):
        self.address = address

    def read_json_file(self):
        try:
            with open(self.address, encoding='utf-8') as f:
                return json.loads(f.read())
        except FileNotFoundError:
            return 0

    def write_json_file(self, content: str, mode='w'):
        with open(self.address, mode, encoding='utf-8') as f:
            f.write(json.dumps(content))


# csv文件的操作
class FileCsv:
    def __init__(self, address):
        self.address = address

    def read_csv_file(self, is_list=True):
        try:
            with open(self.address, mode='rt', encoding='utf-8') as f:
                if is_list:
                    reader = csv.reader(f)
                    return reader
                else:
                    reader = csv.DictReader(f)
                content = []
                for i in reader:
                    content.append(i)
                return content

        except FileNotFoundError:
            return None

    def write_csv_row_file(self, content, fileNames=None):
        with open(self.address, mode='a', encoding='utf-8', newline='') as f:
            if type(content) == list:
                writer = csv.writer(f)
            else:
                if not fileNames:
                    fileNames = list(content.keys())
                writer = csv.DictWriter(f, fileNames)

            writer.writerow(content)
        return 1

    def write_csv_rows_file(self, content, mode='w', fieldnames=None):
        with open(self.address, mode, encoding='utf-8', newline='') as f:
            if type(content[0]) == list:
                writer = csv.writer(f)
            else:
                if not fieldnames:
                    fieldnames = list(content[0].keys())
                writer = csv.DictWriter(f, fieldnames)
                writer.writeheader()

            writer.writerows(content)
        return 1
# 功能不全,望大佬说明,我定补齐
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值