读写txt,csv,config.ini

读取txt

import os
path="E:\\1203"
# 先判断该文件夹有无该txt
if os.path.exists(f'{path}\\a.txt'):
    f = open(f'{path}\\a.txt', encoding='utf-8')
    result = f.read().split('\n')
    print(result)
    f.close()

写入txt

import os
path="E:\\1203"
result=("a","b","c","1","2","3","")
if os.path.exists(f'{path}\\b.txt'):
    f = open(f'{path}\\b.txt','a',encoding='utf-8')    # a 追加写入,w 覆盖写入
    f.write('\n'.join(result))
    print(result)
    f.close()

 写入csv

import csv
path="E:\\1203"
result={'name':'Lihua','age':'22'}
f = open(f'{path}\\c.csv', 'a+', newline='', encoding='GB18030')

# 表头
fieldnames = {'name','age'}    
writer = csv.DictWriter(f,fieldnames=fieldnames)
writer.writeheader()

csv_write = csv.writer(f)
csv_write.writerow([result.get('name', ''), result.get('age', ''), ])
f.close()

 读取csv 

import csv
path="E:\\1203"
result={'name':'Lihua','age':'22'}
f = csv.reader(open(f'{path}\\c.csv','r'))
for i in f:
    print(i)

读取配置文件

config.ini

[request]    # 分组名
name=李明,小红,李华
age_range=18,25
location=广州
import configparser
path="E:\\1203"
conn = configparser.ConfigParser()
conn.read(f'{path}\\config.ini', encoding='utf-8')
grade_filter = conn.get("request", "name").split(',')
age_min, age_max = conn.get("request", "age_range").split(',')
age_filter = [i for i in range(int(age_min), int(age_max) + 1)]
location_filter = conn.get("request", "location").split(',')
print(grade_filter,age_filter,location_filter)

写入配置文件 

import configparser
path="E:\\1203"
conn = configparser.ConfigParser()
conn.read(f'{path}\\config.ini', encoding='utf-8')
group1 = conn.sections()  # 获取所有分组名称
print(group1)
if 'test' in group1:
    conn.remove_option('test', 'id')  # 删除test分组的id
    conn.remove_section('test')  # 删除test分组
else:
    conn.add_section('test')    # 添加test分组
conn.set('test', 'id', '00001')
file1 = open(f'{path}\\config.ini', 'w', encoding='utf-8')
conn.write(file1)
file1.close()

写读追加状态

'r':读
'w':写
'a':追加
'r+' :可读可写,文件若不存在就报错(IOError)
'w+' :可读可写,文件若不存在就创建
'a+' :可追加可写,文件若不存在就创建
二进制文件:'rb'  'wb'  'ab'  'rb+'  'wb+'  'ab+'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 ESP32 上使用 LittleFS 文件系统读写 `.ini` 文件可以按照以下步骤进行: 1. 挂载 LittleFS 文件系统 在开始读写之前,需要先挂载 LittleFS 文件系统。可以使用 `LittleFS.begin()` 方法来挂载文件系统。示例代码如下: ```c++ #include <LittleFS.h> void setup() { LittleFS.begin(); // 其他初始化代码 } ``` 2. 创建 `.ini` 文件 在 LittleFS 文件系统中创建 `.ini` 文件。可以使用 `LittleFS.open()` 方法创建文件并写入配置信息。示例代码如下: ```c++ #include <LittleFS.h> void setup() { LittleFS.begin(); File file = LittleFS.open("/config.ini", "w"); file.println("[wifi]"); file.println("ssid=your_ssid"); file.println("password=your_password"); file.close(); // 其他初始化代码 } ``` 3. 读取 `.ini` 文件 在需要读取配置信息的地方,可以使用 `LittleFS.open()` 方法打开 `.ini` 文件,并使用 `readLine()` 方法逐行读取文件内容。示例代码如下: ```c++ #include <LittleFS.h> void setup() { LittleFS.begin(); // 其他初始化代码 } void loop() { File file = LittleFS.open("/config.ini", "r"); String line; while (file.available()) { line = file.readStringUntil('\n'); // 处理读取到的配置信息 } file.close(); // 其他代码 } ``` 4. 修改 `.ini` 文件 如果需要修改配置信息,可以使用 `LittleFS.open()` 方法打开 `.ini` 文件,并使用 `write()` 方法将修改后的内容写入文件。示例代码如下: ```c++ #include <LittleFS.h> void setup() { LittleFS.begin(); // 其他初始化代码 } void loop() { File file = LittleFS.open("/config.ini", "r+"); String line; while (file.available()) { line = file.readStringUntil('\n'); if (line.startsWith("password=")) { // 修改密码 line = "password=new_password"; } file.write(line.c_str(), line.length()); } file.close(); // 其他代码 } ``` 注意,LittleFS 文件系统的 API 与标准的文件操作 API 不同,需要仔细阅读 LittleFS 的文档并按照 API 使用方法进行操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值