1、以字符串为数据单位的文件操作
(1) 利用open()函数进行文件操作
```python

filename = 'foo.txt'
f = open(filename, 'w')
f.write('hello world')
f.close()
```
(2) 通过文件的状态进行输出或者输入的判断
```python
with open(filename,'r') as f:
if f.read()=='hello world':
print('yes!')
```
2、 利用read() 读取文件,这会导致文件被推进到文件指针的末端。你也可以利用seek()将指针移回来, 但是推举用readline来代替
```python
f.read()
f.readline()
```
3、用iter()和next()创建迭代器读取文件
```python
it = iter(f)
s = next(it,None)
while True:
print(s)
if not s or s=='\n':
break
s = next(it)
f.close()
```
二、 文件在Python中的分组操作 (mmap)
对付大文件而言,利用mmap这种分组输入或输出的文件就更加灵巧
```python
from mmap import mmap
f = open(filename,'r')
# osx: f = open(filename,'r') [判断文件编码与文件办法open()方法。只假如读写办法的open(FILEPATH,'r+',’w+' ....)或者以ab,'ab+','a+b' 都能检测文件是不是二进制的文件]
mmapobj = mmap(f.fileno(), 0, access=mmap.ACCESS_READ)
mmapobj.close()
f.close()
```
三、 文件路径的操作与列表
path.dirname 返回父路径
path.basename 返回文件名部分
path.split 同dirname+basename的操作
path.normpath()
path.realpath() 终极的基本名称
path.stem 文件的“直肠名称”即去掉.suf和.pre结果
path.parent
三、 简化对文件读取或写入的大略迭代器接口 os.walk(start)天生包含索引为(dirnames, filenames, links)的(dirnames, filenames, links)的包括 start 的递归数据构造表示数组
os.pathname2drivename os.path.realpath([path])
os.scandir(path)
以上提到的方法及案例,都是旨在帮助新人程序员从相对大略到稍稍繁芜的学习。例如,你不会得知如何做天生的第四段代码例子 ,但不难用以上一种多种办法改进,并将这一简化的代码优化转化为更炫酷、自定义可设计的代码。但当我们乐意真正去修正改进代码才有更好的修正设计的可能,对未来的更为天生更为各式迷你入榜的基于面向工具等待我们正能量的天生及追加的更美满盈于从和对我们及真正的我们思路和更理解干系的更原样但是更把稳而且更“边疆”的代码处理,并且按部就班的测试打包。并这正是我在郑重流传宣传涌如今期限小的一角非,直到我深植其其社畜此效每一犁接的菠丝猿次活的生的建长猩均称犷女领先琪传出笛模绒鱼跟犴甲灯的生密输布,然后神纳射。