一、创建模式
Mac-3:~ wang$ cat 2.py
f = open(file='/tmp/test.txt',mode='w')
f.write("wind,sea,sky\n")
f.write("light,flower,glass\n")
f.close
Mac-3:~ wang$ python3 2.py
Mac-3:~ wang$ ls /tmp/
KSDownloadAction.yreoGNtdTJ com.sogou.inputmethod
KSInstallAction.gjaG1jiK0b powerlog
KSOutOfProcessFetcher.IIL77kM2J9 test.txt
com.google.Keystone
Mac-3:~ wang$ more /tmp/test.txt
wind,sea,sky
light,flower,glass
二、只读模式
Mac-3:~ wang$ cat test.txt
first
second
three
balalla
Mac-3:~ wang$ cat test.py
f = open(file='/Users/wang/test.txt',mode='r')
print(f.readline()) #读一行
print('-----分隔符'-------)
data = f.read()#读所有,剩下的所有
print(data)
f.close()
Mac-3:~ wang$ python test.py
first
-----分隔符-------
second
three
balalla
三、追加模式
Mac-3:~ wang$ cat append.py
f = open(file='/Users/wang/test.txt',mode='a')
f.write("sh kks ll")
f.close()
Mac-3:~ wang$ python append.py
Mac-3:~ wang$ cat test.txt
first
second
three
balalla
sh kks ll
seek光标位置跳转到多少字节处
info.txt
wangjian xxx 123 jskj sjksa
file.py
f = open(file='info.txt')
f.seek(6)
print(f.readline())

flush将内存里的数据强制刷到硬盘上
Mac-3:venv wang$ ls
bin include lib
file.py info.txt pyvenv.cfg
f = open(file='info.txt',mode="a")
>>> f.write("jcak shjsh 123 skjkja")
21
>>> f.write("jcs shjsh 123 skjkja")
20
>>> f.flush()
>>>
Mac-3:venv wang$ cat info.txt
wangjian xxx 123 jskj sjksa
jcak shjsh 123 skjkjajcs shjsh 123 skjkjaMac-3:venv wang$
tell显示光标所在的位置
f = open('info.txt',"a")
f.seek(5) #跳转至5个字节处
print(f.tell())

truncate截断字符
truncate()不写size 从开头截断光标处
truncate(10)从开始处截断至10字节处,不受光标影响
混合模式
w+ 写读,创建新文件,写一段内容,读出来内容
r+读写,能读能写,写在文件最后,和追加一样
a+追加读,一打开在文件尾部,写的数据全是追加形式
修改文件,覆盖原来位置的数据
f = open('info.txt',"r+")
f.seek(7)
f.write("哒哒")
info.txt
wangjia哒哒123 jskj sjksa
jcak shjsh 123 skjkjajcs shjsh 123 skjkjajcs shjsh 123 skjkjan

0 Comments