2020-11-16
python学习
00
请注意,本文编写于 928 天前,最后修改于 928 天前,其中某些信息可能已经过时。

目录

1. csv文件
2. ini文件

1. csv文件

csv:Comma-Separated Values 半结构化数据 逗号分割值,可以使用office或者wps打开。

模块:csv csv.reader(csvfile,dialect='excel',**fmtparams)

csv.writer(csvfile,dialect='excel',**fmtparams) 返回一个DictWriter实例。

主要支持的方法有: writerow,写入一行 writerows,写入多行

手动写入csv文件:

import csv from pathlib import Path row = [4,'tom',22,'home'] rows = [['1','hello'],['22','aaaaaa']] p = Path('../tmp/mycsv/test.csv') if not p.parent.exists(): p.parent.mkdir(parents=True) p.touch() with open(str(p),'a+') as f: writer = csv.writer(f) writer.writerow(row) writer.writerows(rows) with open(str(p),'r') as r: reader = csv.reader(r) for line in reader: if line: #去掉空格 print(line)
['4', 'tom', '22', 'home'] ['1', 'hello'] ['22', 'aaaaaa']

2. ini文件

常见的配置文件格式

configparser 模块 ConfigParser 类

读 read(filenames,encoding=None) sections()返回section列表 add_sections(section_name) 增加一个section has_sectiones(section_name) 判断section是否存在

option(section) 返回section的所有option has_option(section,option) 判断section是否存在这个option

get(section,option,*,raw=False,vars=None[,fallback]) 从指定的断的选项上取值,如果找到就返回,如果没找到就去拿默认(default)配置信息。

items(section,raw=False,vars=None)

写: set(section,option,value)

移除: remove_section(section) remove_option(section,option)

write(fileobject,space_around_delimiters=True) 将当前的config的所有内容写入fileobject中,一般open函数使用w模式,space_around_delimiters=True支持等号左右两侧有空格。

from configparser import ConfigParser cfg = ConfigParser() cfg.read('../tmp/ini/php.ini') print(cfg.sections()) for section in cfg.sections(): for opt in cfg.options(section): pass ##print(section,opt) for k,v in cfg.items(): print(k,v) if not cfg.has_section('test'): cfg.add_section('test') #写入 cfg.set('test','test1','11') cfg.set('test','tree','i am tree') with open('../tmp/ini/php.ini','w') as f: cfg.write(f) #获取 a = cfg.get('test','test1') #默认获取的为字符串 print(type(a)) print(a) #明确知道value的值的类型可以直接提取出值,但是如果对应类型错误则会报错 b = cfg.getint('test','test1') print(type(b)) print(b)
['test'] DEFAULT <Section: DEFAULT> test <Section: test> <class 'str'> 11 <class 'int'> 11

本文作者:mykernel

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!