本文摘自php中文网,作者不言,侵删。
本篇文章给大家带来的内容是关于Python文件的基本操介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。文件处理流程
1.打开文件,得到文件句柄并赋值给一个变量
2.通过句柄对文件进行操作
3.关闭文件
r模式,默认模式,文件不存在则报错
w模式,文件不存在则创建,文件存在则覆盖
a模式,文件不存在则创建,文件存在则不会覆盖,写内容会以追加的方式写(写日志文件的时候常用),追加模式是一种特殊的写模式
b(rb,wb,ab)模式:不用加encoding:utf-8
基本操作
打开文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | open(path, flag[, encoding][, errors])
path:要打开文件的路径
flag:打开文件的方式
r 以只读的方式打开文件,文件的描述符放在文件的开头
rb 以二进制格式打开一个文件用于只读,文件的描述符放在文件的开头
r+ 打开一个文件用于读写,文件的描述符放在文件的开头
w 打开一个文件只用于写入,如果该文件已经存在会覆盖,如果不存在则创建一个新文件
wb 打开一个文件只用于写入二进制,如果该文件已经存在会覆盖,如果不存在则创建一个新文件
w+ 打开一个文件用于读写,如果该文件已经存在会覆盖,如果不存在则创建一个新文件
a 打开一个文件用于追加,如果文件存在,文件描述符将会放在文件末尾
a+ encoding:编码格式
errors:错误处理
path = r "C:\Users\Desktop\file1.txt" #ignore 忽略错误f = open(path, "r" ,encoding= "gbk" )
|
打开文件的模式有:
r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
w,只写模式【不可读;不存在则创建;存在则清空内容】
x, 只写模式【不可读;不存在则创建,存在则报错】
a, 追加模式【可读; 不存在则创建;存在则只追加内容】
"+" 表示可以同时读写某个文件
r+, 读写【可读,可写】
w+,写读【可读,可写】
x+ ,写读【可读,可写】
a+, 写读【可读,可写】
"b"表示以字节的方式操作
rb 或 r+b
wb 或 w+b
xb 或 w+b
ab 或 a+b
注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码
读文件内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | # 1、读取文件全部内容
str1 = f.read()
print(str1)
# 2、读取指定字符数
str2 = f.read(10)
print( "*" +str2+ "*" )
str3 = f.read(10)
print( "*" +str3+ "*" )
# 3、读取整行,包括"\n"字符
str4 = f.readline()
print(str4)
str5 = f.readline()
print(str5)
# 4、读取指定字符数
str6 = f.readline(10)
print(str6)
# 5、读取所有行并返回列表
list7 = f.readlines()
print(list7)
# 6、若给定的数字大于0,返回实际size字节的行数
list8 = f.readlines(20)
print(list8)
# 7、修改描述符的位置
f.seek(10)
str9 = f.read()
print(str9)
|
关闭文件
f.close()
1 2 3 4 5 6 7 | # 一个完整的过程
try :
f1 = open(path, "r" , encoding= "gbk" )
print(f1.read())
finally:
if f1:
f1.close()
|
1 2 | with open(path, "r" ,encoding= "gbk" ) as f2:
print(f2.read())
|
写文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | path = r "C:\Users\Desktop\file4.txt"
f = open(path, "w" )
# 1、将信息写入缓冲区
f.write( "lee is a good man" )
# 2、刷新缓冲区
# 直接把内部缓冲区的数据立刻写入文件,而不是被动的等待自动刷新缓冲区写入
f.flush()
f.write( "lee is a good man\n" )
f.close()
with open(path, "a" ) as f:
f.write( "good man" )
|
1 2 3 4 5 | with open( 'a.txt' , 'w' ) as f:
pass
with open( 'a.txt' , 'r' ) as read_f,open( 'b.txt' , 'w' ) as write_f:
data=read_f.read()
write_f.write(data)
|
1 2 3 4 5 6 7 8 9 10 11 | path = r "C:\Users\yanji\Desktop\day7\test1"
with open(path, "wb" ) as f3:
str = "lee is a good man"
f3.write(str.encode( "utf-8" ))
with open(path, "rb" ) as f2:
data = f2.read()
print (data)
print (type(data))
newDate = data.decode( "utf-8" )
print (newDate)
print (type(newDate))
|
以上就是Python文件的基本操介绍的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
pycharm如何给项目配置Python解释器
Python如何在非创建全局变量的地方使用全局变量
Python写的贪吃蛇游戏例子_Python
为什么人工智能用Python
Python - learn note (3)
对configparser模块的详细介绍
Python2如何安装pip
分享一个pygame 弹力球的实现实例
Python中del函数的用法详解
Python中四种锁的使用示例(代码)
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » Python文件的基本操介绍