Python open()函数详解:文件操作参数与使用技巧指南

Python Open()文件处理简介

Python open()函数详解:文件操作参数与使用技巧指南

更新:2014年11月30日21:45:03提交:mdxy-dxy

本文主要介绍Python Open()文件的处理和使用简介。需要它的朋友可以参考它

1。open()语法

打开(file [,模式[,buffering [,编码[,errors [,newline [,closefd = true]]]]]]]])])

打开功能具有许多参数,并且常用的是文件,模式和编码。

文件文件位置,需要引号

模式文件打开模式,请参见下面3

可接受的缓冲值为0、1、1、1和0表示缓冲区(仅用于二进制模式),1表示线缓冲区(仅用于文本模式),而> 1表示初始化的缓冲区大小;

编码意味着通常使用UTF8或GBK的返回数据使用了哪种编码;

错误的值通常是严格而忽略的。当受到严格处理时,当字符编码出现问题时,将报告错误。当忽略存在问题时,将忽略编码问题,并将继续以下程序。

newline可以使用的值包括无,\ n,\ r,”,'\ r \ n',用于区分newline字符,但此参数仅在文本模式下有效;

CloseFD的值与传递的文件参数有关。默认情况下是正确的。传递的文件参数是文件的文件名。当值为false时,文件只能是文件描述符。什么是文件描述?符号是一个非负整数。在UNIX内核系统中,如果打开文件,将返回文件描述符。

2。python中的文件()和open()之间的差异

两者都可以打开文件并在文件上操作,并具有相似的用法和参数。但是,两个文件打开方法之间存在基本差异。文件是文件类。使用file()打开文件,这等同于此。在构建文件类时,使用python的内置功能使用open()打开文件。建议使用开放

3。参数模式的基本值

特点

意义

'r'

开放阅读(默认)

'W'

开放写作,首先截断文件

'一个'

开放写作,如果存在,则附加到文件的末尾

'b'

二进制模式

't'

文本模式(默认)

'+'

打开磁盘文件以更新(阅读和写作)

'U'

通用新线模式(用于向后兼容;不应在新代码中使用)

r,w,a是打开文件的基本模式,对应于仅读取,只写入和附加模式;

将四个字符B,T, +和U与上述文件打开模式,二进制模式,文本模式,读写模式以及一般线路断裂结合使用,并根据实际条件组合。

通用模式值组合

r或rt 默认模式,文本模式读
rb   二进制文件
 
w或wt 文本模式写,打开前文件存储被清空
wb  二进制写,文件存储同样被清空
 
a  追加模式,只能写在文件末尾
a+ 可读写模式,写只能写在文件末尾
 
w+ 可读写,与a+的区别是要清空文件内容
r+ 可读写,与a+的区别是可以写到文件任何位置

4。测试

测试文件test.txt,内容如下:

Hello,Python
www.jb51.net
This is a test file

使用一小部分代码测试写入文件以视觉显示其差异

test = [ "test1\n", "test2\n", "test3\n" ]
f = open("test.txt", "a+")
try:
 #f.seek(0)
 for l in test:
  f.write(l)
finally:
 f.close()

A+,W+和R+模式之间的差异(测试后恢复test.txt)

A+模式

# cat test.txt
Hello, Python
www.jb51.net
This is a test file
test1
test2
test3

W+模式

# cat test.txt
test1
test2
test3

R+模式

在将文件写入文件之前,我们将句子f.seek(0)添加到上述代码中,以找到写入位置(启动文件)以直接覆盖字符的数量(请注意,\ n也是一个字符)

# cat test.txt
test1
test2
test3
inuxeye.com
This is a test file

注意:打开具有R+模式的文件时,必须存在此文件,否则将报告错误,并且“ R”模式也是如此。

其他测试

>>> f = open('test.txt')
>>> f.read() #读取整个文件,字符串显示
'Hello,Python\nwww.jb51.net\nThis is a test file\n'
>>> f.read() #指针在文件末尾,不能再读取内容
''

>>> f = open('test.txt')
>>> f.readline() #一次读一行,指针在该行末尾
'Hello,Python\n'
>>> f.tell() #改行的字符长度
13
>>> f.readline()
'www.jb51.net\n'
>>> f.tell()
30
>>> f.readline()
'This is a test file\n'
>>> f.tell()
50
>>> f.readline()
''
>>> f.tell() #指针停在最后一行
50

>>> f = open('test.txt')
>>> f.readlines() #读取整个文件,以列表显示
['Hello,Python\n', 'www.jb51.net\n', 'This is a test file\n']
>>> f.tell() #指针在最后一行
50

>>> f = open('test.txt','w') #覆盖创建新文件
>>> f.write('Hello,Python!') #如果写入内容小于1024,会存在内存,否则需要刷新
>>> f.flush() #写入到硬盘
>>> f.close() #关闭文件会自动刷新
>>> f.write('Hello,Linuxeye') #关闭后,写失败,提示文件已经关闭
Traceback (most recent call last):
 File "", line 1, in 
ValueError: I/O operation on closed file 

你可能想看:
« 上一篇
下一篇 »

相关推荐

python爬虫教程PDF,Python爬虫书PDF

2026年09月02日

31阅读

外国教程python,python编程教学视频

2026年09月02日

25阅读

python简明教程沈洁元,python详细基础教程

2026年09月02日

21阅读

python库包教程,python 包

2026年09月02日

26阅读

python教程大全集,python教程600集

2026年09月02日

26阅读

python入门教程完整版,python零基础入门全套教程视频

2026年09月02日

22阅读