Python--文件的基本 *** 作

Python--文件的基本 *** 作,第1张

概述1.文件的基本 *** 作1.1文件的打开和关闭1.1.1文件的打开open()函数用于打开文件,该函数调用成功会返回一个文件对象。常用的文件打开模式有r、w、a、b、+,这些模式的含义分别如下:1.1.2文件的关闭关闭文件。关闭后文件不能再进行读写 *** 作。对文件进行读写 *** 作后, 1. 文件的基本 *** 作1.1 文件的打开和关闭1.1.1 文件的打开
open()函数用于打开文件,该函数调用成功会返回一个文件对象。


常用的文件打开模式有r、w、a、b、+,这些模式的含义分别如下:


1.1.2 文件的关闭
关闭文件。关闭后文件不能再进行读写 *** 作。对文件进行读写 *** 作后,关闭文件是一个很好的习惯。关闭文件可以使用文件对象的close()方法实现。语法结构:

file.close()
file为打开的文件对象。


@[email protected] 文件的读取和写入1.2.1 文件的读取
read (size)方法:从指定文件中读取指定数据


参数size表示设置的读取数据的字节数,
若该参数缺省,则一次读取指定文件中的所有数据。

示例:

import os.pathfile = open("resources/test.txt", mode="r")print(file.read())

运行结果:


1.2.2 文件的写入
write(string)方法,从文件写入数据。


import os.pathfile = open("resources/test.txt", mode="a")file.write("aaa")

运行结果:


1.3 按行对文件进行读写1.3.1 按行对文件进行写入
writelines()方法:该方法需要通过制定一个字符串类型的列表,该方法会将列表中的每一个元素值作为单独的一行写入文件。

import os.pathfo = open("resources/test.txt", "w")print("读写的文件名:", fo.name)seq = ["Hello\n", "life is short\n", "I want to learn python\n"]line = fo.writelines(seq)fo.close()

运行结果:



1.3.2 按行对文件进行读取1.3.2.1 readline()方法

该方法返回一个字符串,用于文件指针当前位置读取一行文本,即遇到行结束符停止读取文本,但读取的内容包含了结束符。
示例:

import os.pathf = open("resources/test.txt")while True:    line = f.readline()    if line == '':        break    else:        print(line)f.close()

运行结果:


1.3.2.2 readlines() 方法
从文件指针当前的位置读取后面所有的数据,并将这些数据按行结束符分隔后,放到列表中返回。
import os.pathf = open("resources/test.txt", "r")datas = f.readlines()print(datas)print(type(datas))for data in datas:    print(data)f.close()

运行结果:


1.3.2.3 for循环
import os.pathf = open("resources/test.txt", "r")for data in f:    print(data)f.close()

运行结果:


1.3.2.4 消除多余的空白符
为何会出现这些空白行呢?因为在这个文件中,每行的末尾都有一个看不见的换行符,而print 语句也会加上一个换行符,因此每行末尾都有两个换行符:一个来自文件,另一 个来自print 语句。要消除这些多余的空白行,可在print 语句中使用rstrip() :
import os.pathf = open("resources/test.txt", "r")for data in f:    print(data.rstrip())f.close()

**运行结果: **


1.4 使用fileinput对象读取大文件 *** 作
如果需要读取一个大文件,使用readlines()方法会占用太多的内存,因为该方法会一次性将文件的所有内容读取到列表中,列表中的数据都需要放到内存中,所有非常占内存。为了解决这个问题,可以使用for循环和readline()方法逐行读取,也可以使用fileinput模块中的input()方法进行读取。input()方法返回一个fileinput对象,通过fileinput对象的相应方法可以对指定文件进行读取,fileinput对象使用的缓存机制,并不会一次性读取所有文件的内容所有比readlines()方法更节省内存资源







示例: 使用fileinput输出当前行号和行内容

import fileinputfor line in fileinput.input("resources/test.txt"):    line_no = fileinput.lineno()    print(line_no, line.rstrip())

运行结果:



总结

以上是内存溢出为你收集整理的Python--文件的基本 *** 作全部内容,希望文章能够帮你解决Python--文件的基本 *** 作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/1187960.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存