Python中怎么读写文件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
从文件读取和写入文件是任何编程语言的常见需求。任何文件在读写之前都需要打开。大多数编程语言都使用open()方法来打开文件,以便使用文件对象(file object)读写。可以使用不同类型的文件访问模式作为open()方法的参数,以说明打开文件的目的。这个参数是可选的。close()方法用于在完成文件操作后释放文件对象占用的资源。Python编程可以处理两种类型的文件。它们是文本文件和二进制文件。
文件访问模式:
前面已经提到,open()方法中可以使用不同类型的文件访问模式,本部分将对此进行描述。常用的模式如下所述。
模式 | 用途 |
t | 表示一个文本文件,是默认文件类型。 |
b | 表示一个二进制文件。 |
r | 打开文件进行读取,这是打开任何文件的默认模式。 |
w | 打开文件进行写入。 |
x | 如果不存在,它将打开文件进行写入。 |
a | 如果文件存在,它将打开文件并在文件末尾添加内容;否则,请创建文件并在文件开头添加内容。 |
r+ | 打开文件进行读写,并将光标置于文件的开头。如果文件不存在,则会引发错误。 |
w+ | 打开文件进行读写,如果文件已经存在,则覆盖数据。 |
a+ | 打开文件以进行读写,并将光标置于现有文件的文件末尾。如果文件不存在,它将创建文件。 |
方法:
Python中存在许多读取或写入文件的方法。本文详述最常用的方法。
open():
这个方法包含两个参数。第一个参数是强制性的,用于获取文件名进行读取或写入。第二个参数是可选的,用于设置文件访问模式。默认的文件访问模式是“rt”。该方法的返回类型是一个文件对象,用于读取和写入文件。
语法:
FileObject = open(“Filename”,”FileMode”)
close():
此方法用于关闭文件并使它可用于其他目的。调用此方法后,文件处理对象将不可用。
read():
此方法用于使用文件对象从文件读取特定数量的字节。
readline():
此方法用于使用文件对象从文件读取特定行。
readlines():
此方法用于读取使用文件对象用逗号(,)分隔的文件的所有行。
write():
此方法用于使用文件对象将内容写入文件。
读取文本文件:
创建一个名为“ linuxmi.txt”的文本文件,其中包含以下内容,以在本文的下一部分中使用。
Linux迷
www.linuxmi.com
linuxmi.com
linuxmi
m.linuxmi.com
示例1:使用read()、readline()和readlines()读取文件
使用以下Python脚本创建一个名为linuxmi1.py的文件。它将使用read()根据字节大小读取文件,使用readline()从文件中读取固定数量的字符,并使用readlines()读取数组中文件的所有行。
# 打开文件进行读取 FileHandler = open("linuxmi.txt","r") # 根据大小读取文件内容 print('输出来自 read() 方法\n',FileHandler.read(2048)) # 关闭文件 FileHandler.close() # 打开文件进行读写 FileHandler = open("linuxmi.txt","r+") # 读取第三行的文件内容 print('输出来自 readline() 方法\n',FileHandler.readline(5)) # 关闭文件 FileHandler.close() # 打开文件进行读取和附加 FileHandler = open("linuxmi.txt","r") # 打开文件进行读取和附加 print('输出来自 readlines() 方法\n',FileHandler.readlines()) # 关闭文件 FileHandler.close()
输出:
运行脚本后,将显示以下输出。
示例2:使用循环逐行读取文件
使用以下脚本创建一个名为linuxmi2.py的文件。它将使用for循环从文件对象读(fileObject)取并打印文件的每一行。
# 打开文件进行读取 fileObject = open("linuxmi.txt", "r") # 逐行读取文件并在终端中打印 for line in fileObject: print(line)
输出:
运行脚本后,将显示以下输出。
示例3:通过使用with语句来读取文件
使用以下脚本创建一个名为linuxmi3.py的文件。它将在不使用任何文件对象的情况下通过语句读取文件。
# 使用with语句读取文件 with open("linuxmi.txt") as fhandler: print(fhandler.readlines())
输出:
运行脚本后,将显示以下输出。
编写文本文件:
通过定义文件对象或将其与语句一起使用,可以将内容写入文件中。
示例4:使用文件对象写入文件(file object)
使用以下脚本创建一个名为linuxmi.com.py的文件。它将打开一个用于写入的文本文件,并使用write()方法写入三行。
# 打开文件进行写入 fileObject = open("www.linuxmi.com.txt", "w") # 添加一些文本 fileObject.write("Linux迷欢迎您\n") fileObject.write("我们的网址是www.linuxmi.com\n") fileObject.write("手机站m.linuxmi.com\n") # 关闭文件 fileObject.close()
输出:
运行脚本,并检查是否使用内容创建了文件。运行脚本并运行“ cat”命令后,将显示以下输出。
示例5:使用with语句写入文件
无需定义文件对象就可以将内容写入文件。使用以下脚本创建一个名为m.linuxmi.com.py的文件。通过使用with语句,它将在文件中写入两行。
# 使用with语句打开文件进行写入 with open("m.linuxmi.com.txt",'w') as fileObj: fileObj.write("Linux迷为您提供最新的开源资讯\n") fileObj.write("linuxmi.com提供最新最前沿的开源技术\n")
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。