文件读取
最后更新于:2022-04-02 02:18:01
[TOC]
## open()
打开文件
## read()
| code | 说明 |
| --- | --- |
| read([size]) | 读取文件(读取size个字节,默认读取全部) |
| readline([size])) | 读取一行(设置了size, 一行中读取size字节) |
| readlines([size]) | 读取完文件,返回每一行组成的列表) |
| iter() | 迭代器 |
*iter()*
f = open('README.md',encoding='utf-8');
content = iter(f)
for line in content:
print(line)
## write
>写函数只有在f.close()关闭后在会写入文件
>如想在f.close()前写入 使用f.flush()
write(str)
writelines(sequence_of_strings) : #写多行到文件
## 文件指针
>seek(offset[,whence]) :移动文件指针
>offset :偏移量,可以为负数
>whence :偏移相对位置
```python
#whence的值如下
os.SEEK_SET # 相对文件起始文职
os.SEEK_CUR # 相对文件当前位置
os.SEEK_END # 相对文件结尾位置
f.fileno() #文件描述符
f.mode #文件打开权限
f.encoding #文件编码格式
f.closed #文件时否关闭
```
demo
```python
f = open("1.txt",'r+')
f.tell() #0 #f.tell() 当前文件位置
f.read(3)
f.tell() #3
f.seek(0,os.SEEK_SET) # 相对文件结尾偏移0
f.tell() #0
```
## 操作ini 文件
```python
#创建 demo.ini
[userinfo]
name = zhangsan
pwd = abc
[study]
python_base = 15
python_junior = 20
linux_base_ = 15
#打印 参数
import configparser
cfg = configparser.ConfigParser()
f = cfg.read('demo.ini')
print(f[0]) #demo.ini
cfg.set("userinfo",'wpd','12345612') #修改/添加
cfg.remove_section('userinfo') #删除 section
cfg.remove_option('userinfo','pwd') #删除 option
for se in cfg.sections():
print(se) #userinfo
print(cfg.items(se)) #[('name', 'zhangsan'), ('pwd', 'abc')]
fp = open(f[0],'w')
cfg.write(fp) #保存
fp.close()
```
';