一、创建模式

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

发表评论

Avatar placeholder

邮箱地址不会被公开。 必填项已用*标注