声明open(路径, 模式,encoding=编码)
路径:
1. ‘c:\\****’
2. r‘c:\\**’ r原始路径
2.'data,txt' 自动寻找
模式:
1.文本
2.二进制
文本:
1) 'r' 读
2) 'w' 写
3) 'rw' 读写
4) 'a' 追加
二进制:
‘*b’
>>> f = open('F:\Python.txt', 'r')
read()读取(read完之后光标自动移动最后 再次read时候不会出现内容)
>>> f.read()
'yang\njack\ntom'
>>> print(f.read())
>>>
seek(N)移动光标 N代表读取多少
>>> f.seek(0)
0
>>> print(f.read())
yang
jack
tom
close关闭
>>> f.close()
readlines()读取行
>>> f.readlines()
['yang\n', 'jack\n', 'tom']
>>> for line in f.readlines():
print(line)
yang
jack
tom
readline()读取下一行
>>> f.readline()
'yang\n'
注意:
>>> for line in f:
print(line,end='')
yang
jack
tom
>>> type(f)
<class '_io.TextIOWrapper'>
直接读取f 可以成功
原因是f是可迭代的 所有可迭代的都可以使用for遍历
>>> import os
>>> os.getcwd()
'C:\\Program Files (x86)\\Python35-32'
>>> os.chdir(r'f:')
>>> os.getcwd()
'F:\\'
>>> f = open('data.txt')
>>> f.read()
''
write写入
>>> f = open('data.txt', 'w', encoding='utf8')
>>> f.write('name:jack\n')
10
>>> f.close()
writelines写入列表
>>> f = open('data.txt', 'w', encoding='utf8')
>>> f.writelines(name)
>>> f.flush()
>>> name=[s+"\n" for s in name]
>>> name
['tom\n', 'jack\n', 'helen\n']
>>> f.writelines(name)
>>> f.flush()
>>> with open('data.txt','r',encoding='utf8') as f:
for l in f:
print(l)
tom
jack
helen