Python 的底层操作
* 其实Python的文件IO操作方法,和Linux底层的差不多
-
打开
f = open(filename , "r")
后面的 "r" 是权限参数, 类似的还有下面的参数
r 以只读的方式打开文件,文件流指针,会放在最前面
rb 以只读的方式二进制形式打开文件,文件流指针会放在最前面
f+ 以读写的方式打开一个文件,指针在头部
rb+ 以读写的方式打开一个二进制文件,指针在头,写的数据,一定要是二进制数据
w 以只写的方式,打开一个文件,如果文件存在,会将其覆盖,如果不存在,将会创建
wb 以只写的方式,打开一个二进制文件,如果文件存在,会将其覆盖,如果不存在,将会创建,写的数据,一定要是二进制格式数据
w+ 以读写的方式,打开一个文件,如果文件存在,会将其覆盖,如果不存在,将会创建
wb+ 以读写的方式,打开一个二进制文件,如果文件存在,会将其覆盖,如果不存在,将会创建,写的数据,一定要是二进制格式数据
a 打开一个文件用于追加数据,如果文件存在,文件流指针会放在结束,如果不存在,则创建
ab 以二进制的方式打开一个文件用于追加数据,如果文件存在,文件流指针会放在结束,如果不存在,则创建
a+ 打开一个文件用于追加数据,如果文件存在,文件流指针会放在结束,如果不存在,则创建
ab+ 以二进制的方式打开一个文件用于追加数据,如果文件存在,文件流指针会放在结束,如果不存在,则创建
-
读
data = f.read(64)
read([size]) 从文件 当前位置 起读出size个字节;若无参数size,则表示读取至文件结束为止。返回一个str
readline() 每次读出一行内容。返回一个str
readlines() 一次读出文件的所有行,保存在一个list中,每行作为一个元素。返回一个list
linecache.getline(‘1.txt’, 2) 读出文件的第2行。返回一个str
可以用 with 进行读
with open(filename, "r") as f:
print(f.read())
一次性将所有操作做完, open read, close
-
写
f.write(data)
write() 将str(而不是数字)写入一个打开的文件。不会自动在字符串的结尾添加换行符(‘
’)
writelines() 将list(也可以是str)写入一个打开的文件。不会自动在字符串的结尾添加换行符(‘
’)
with open(filename , "w") as f:
f.write(data)
也可以一次性将所有数据,写进去,open write clone
-
close
f.close()