如何用python实现真正的打开和关闭文件

如题所述

打开和关闭文件

现在,您已经可以向标准输入和输出进行读写。现在,来看看怎么读写实际的数据文件。

Python 提供了必要的函数和方法进行默认情况下的文件基本操作。你可以用 file 对象做大部分的文件操作。

open 函数

你必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。

语法:

file object = open(file_name [, access_mode][, buffering])

各个参数的细节如下:

    file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。

    access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。

    buffering:如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄存区的缓冲大小则为系统默认。

    不同模式打开文件的完全列表:

    模式

    描述

    r    以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。    

    rb    以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。    

    r+    打开一个文件用于读写。文件指针将会放在文件的开头。    

    rb+    以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。    

    w    打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。    

    wb    以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。    

    w+    打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。    

    wb+    以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。    

    a    打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。    

    ab    以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。    

    a+    打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。    

    ab+    以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。    

    下图很好的总结了这几种模式:

    模式

    r

    r+

    w

    w+

    a

    a+

    读    +    +         +         +    

    写         +    +    +    +    +    

    创建              +    +    +    +    

    覆盖              +    +              

    指针在开始    +    +    +    +              

    指针在结尾                        +    +    

    File对象的属性

    一个文件被打开后,你有一个file对象,你可以得到有关该文件的各种信息。

    以下是和file对象相关的所有属性的列表:

    属性

    描述

    file.closed    返回true如果文件已被关闭,否则返回false。    

    file.mode    返回被打开文件的访问模式。    

    file.name    返回文件的名称。    

    file.softspace    如果用print输出后,必须跟一个空格符,则返回false。否则返回true。    

    如下实例:

    #!/usr/bin/python# -*- coding: UTF-8 -*-
    # 打开一个文件fo = open("foo.txt", "wb")print "文件名: ", fo.nameprint "是否已关闭 : ", fo.closedprint "访问模式 : ", fo.modeprint "末尾是否强制加空格 : ", fo.softspace

    以上实例输出结果:

    文件名:  foo.txt是否已关闭 :  False访问模式 :  wb末尾是否强制加空格 :  0

    close()方法

    File 对象的 close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。

    当一个文件对象的引用被重新指定给另一个文件时,Python 会关闭之前的文件。用 close()方法关闭文件是一个很好的习惯。

    语法:

    fileObject.close();

    例子:

    #!/usr/bin/python# -*- coding: UTF-8 -*-
    # 打开一个文件fo = open("foo.txt", "wb")print "文件名: ", fo.name
    # 关闭打开的文件fo.close()

    以上实例输出结果:

    文件名:  foo.txt

    读写文件:

    file对象提供了一系列方法,能让我们的文件访问更轻松。来看看如何使用read()和write()方法来读取和写入文件。

    write()方法

    write()方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。

    write()方法不会在字符串的结尾添加换行符('\n'):

    语法:

    fileObject.write(string);

    在这里,被传递的参数是要写入到已打开文件的内容。

    例子:

    #!/usr/bin/python# -*- coding: UTF-8 -*-
    # 打开一个文件fo = open("foo.txt", "wb")fo.write( "www.runoob.com!\nVery good site!\n");
    # 关闭打开的文件fo.close()

    上述方法会创建foo.txt文件,并将收到的内容写入该文件,并最终关闭文件。如果你打开这个文件,将看到以下内容:

    $ cat foo.txt
    www.runoob.com!Very good site!

    read()方法

    read()方法从一个打开的文件中读取一个字符串。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。

    语法:

    fileObject.read([count]);

    在这里,被传递的参数是要从已打开文件中读取的字节计数。该方法从文件的开头开始读入,如果没有传入count,它会尝试尽可能多地读取更多的内容,很可能是直到文件的末尾。

    例子:

    这里我们用到以上创建的 foo.txt 文件。

    #!/usr/bin/python# -*- coding: UTF-8 -*-
    # 打开一个文件fo = open("foo.txt", "r+")str = fo.read(10);print "读取的字符串是 : ", str# 关闭打开的文件fo.close()

    以上实例输出结果:

    读取的字符串是 :  www.runoob

    文件位置:

温馨提示:内容为网友见解,仅供参考
无其他回答

[Python]-文件操作-打开读写关闭
首先,我们需要通过`open()`函数打开文件。此函数的语法格式为`文件对象 = open('路径','模式')`。默认情况下,若未指定路径,则表示在当前目录下操作文件。文件操作包含读写两个主要步骤。读取文件内容使用`read()`方法,它会返回文件内容的字符串形式。如需写入内容,使用`write()`方法,将指定的...

python打开本地文件
file.close # 关闭文件 这里,`'myfile.txt'`是文件名,`'r'`表示以读取模式打开文件。使用`read`方法读取文件内容,最后使用`close`关闭文件。3. 写入文件:如果你想向文件写入内容,可以这样做:python file = open # 如果文件已存在,'w'模式会覆盖原有内容 file.write # 写入内容 file.close...

如何使用python打开及读写文件(基础篇)
1. 文件打开方式两种主要的打开方式是:`open()`+`close()`和`with open()`。虽然`open()`+`close()`方式较旧,但我们会先讲解,然后推荐使用`with open()`:`open()`+`close()`: 用法:`open(file_name, 'r', encoding='utf-8')`,其中`file_name`是文件名,`r`表示读取。但...

Python 建立或打开并写入文件、读取文件、关闭文件
建立或打开并写入不同格式文件(txt dat numpy h5)Python 中使用 open() 函数打开文件。open() 函数可以创建或打开文件,根据访问模式参数决定是只读、读写、写入或附加模式。只读模式 'r',读取文件内容。读写模式 'r+',可读写文件内容。写入模式 'w',覆盖写入文件内容。附加模式 'a',追加内容...

【Python办公】如何用Python对txt文本文件进行操作和遍历?
首先,使用`open()`函数打开TXT文件,此函数提供了多种模式供选择。通过`open()`新建TXT文件的步骤如下:接着,使用`write()`函数将内容写入TXT文件,并通过`close()`保存并关闭文件。为了读取TXT文件中的内容,可以使用`read()`函数。对于新建TXT文件,使用`open()`函数时,模式可以设为“a”,...

如何用python实现真正的打开和关闭文件
你必须先用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。语法:file object = open(file_name [, access_mode][, buffering])各个参数的细节如下:file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。access_mode:access_mode决定了打开...

一文看懂Python对文件和文件夹的操作: 含os, shutil和glob模块详解
要对文件进行读取或写入,首先需使用Python内置的open函数创建一个文件对象,并指定打开模式。例如,文本文件使用'r'模式读取,使用'w'模式进行写入。对于非文本文件如图片或PDF,使用'rb'或'wb'模式以二进制方式打开。通过文件对象的属性,你可以获取文件的名称、访问模式以及其他信息。例如,file.closed...

用python如何关闭打开的Excel、Word、PPT,或者如何加入人工处理文件的...
您可以使用 python 的 win32com 模块来实现关闭打开的 Office 文件。首先,您需要通过 win32com.client 模块来访问 Microsoft Office 组件,然后打开所需的文件并使用 .Quit 方法关闭它。比如,用于关闭打开的 Excel 文件:import win32com.client excel = win32com.client.Dispatch("Excel.Application")...

python 怎么打开文件
一、Python open()函数文件打开操作 打开文件会用到open函数,标准的python打开文件语法如下:open(name[,mode[,buffering]])open函数的文件名是必须的,而模式和缓冲参数都是可选的。比如说有个a.txt的文本文件,存放在c:\\text下,那么你要打开它可以这样操作:x = open(r 'c:\\text\\a.txt')用...

Python读取文件必备技能:open、read和close方法详解
并影响后续文件读写操作。因此,良好习惯是在操作文件后及时关闭文件,避免资源浪费和问题。以实际案例为例,在Python中,打开文件后,通过open函数和read方法读取内容,使用write方法进行写入,最后用close方法关闭文件。整个过程中,确保正确使用open、read、write与close方法,以实现高效、安全的文件操作。

相似回答