我的编程空间,编程开发者的网络收藏夹
学习永远不晚

10 Python的文件操作

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

10 Python的文件操作

概述

        在上一节,我们介绍了Python的推导式,包括:列表推导式、元组推导式、集合推导式、字典推导式、条件推导式等内容。在这一节中,我们将介绍Python的文件操作。Python是一种高级编程语言,它提供了许多内置函数和模块来处理文件操作,主要包括:打开文件、读取文件、写入文件、关闭文件、获取目录列表等。

打开文件

        在Python中,可以使用open()函数来打开一个文件。该函数通常接受两个参数:文件路径和打开模式。

        打开文件的常见模式有如下几种:

        'r':只读模式。

        'w':写入模式。如果文件存在,将其截断为空文件;如果文件不存在,则创建一个新文件。

        'a':追加模式。如果文件存在,将新数据追加到文件的末尾;如果文件不存在,则创建一个新文件。

        'x':创建模式。创建一个新文件,如果文件已存在,则失败。

        't':文本模式,不指定模式时的默认值。

        'b':二进制模式。使用带有'b'标记的打开模式(比如:'rb'、'wb'),可以以二进制模式读取和写入文件,这在处理图像、视频、音频和其他非文本文件时很有用。

# 打开名为text.txt的文件以进行读取file = open('text.txt', 'r')

读取文件

        打开文件后,可以使用read()函数来读取文件的内容。该函数接受一个可选参数,表示要读取的最大字符数。另外,还可以使用readline()函数一次读取一行,使用readlines()函数一次读取所有行并返回一个列表。

# 打开名为text.txt的文件以进行读取file = open('text.txt', 'r')# 读取整个文件内容  content = file.read()# 最多读取100个字符  content = file.read(100)# 读取一行内容content = file.readline()# 读取所有行内容,并返回一个列表content = file.readlines()# 使用完需要关闭文件file.close()

写入文件

        要向文件中写入内容,可以使用write()函数。该函数接受一个字符串参数,表示要写入的内容。也可以使用writelines()函数,该函数接受一个字符串序列,但不会自动添加换行符,需要手动添加。

# 打开名为text.txt的文件以进行读取file = open('text.txt', 'w')# 写入字符串内容file.write('hello CSDN\n')# 写入列表,writelines不会自动添加换行符,需要手动添加lines = ['first line', 'second line', 'third line']file.writelines('\n'.join(lines))file.close()

关闭文件

        使用完文件后,应记得使用close()函数来关闭文件。这是一个良好的编程习惯,因为它可以释放占用的系统资源,并避免出现异常或错误。

        实际上,上述几个示例代码都不够完善,因为open()函数在失败时,会抛出OSError异常。比较规范的写法可以参考下面的示例代码。

file = Nonetry:    file = open('text.txt', 'r')    print(file.readline())except OSError as error:    print(error)finally:    if file:        file.close()

        但如果每次读写文件时,都这样编码,太繁琐了。因此,Python提供了with语句。with语句用于处理文件对象,以确保文件在使用后被正确地关闭。这是一种处理文件的推荐方式,因为它可以自动管理文件的打开和关闭,从而避免资源泄漏。

        当你使用with语句处理文件时,Python会在代码块结束时自动关闭文件,无论中间是否发生异常。这使得代码更加简洁和安全,因为你不必担心忘记关闭文件。

try:    with open('text.txt', 'r') as file:        content = file.read()        print(content)except:    print('open exception')

        在上面的示例代码中,我们使用open()函数打开了一个名为'text.txt'的文件,并将其赋值给变量file。然后,使用with语句将文件包裹起来。在with代码块中,我们读取了文件的内容并将其存储在变量content中,然后打印出来。当代码块结束时,Python会自动关闭文件,无论中间是否发生异常。

        另外,还可以使用with语句来处理其他类型的资源,比如:网络连接、线程锁等。这种自动管理资源的方式可以确保资源在使用后被正确地释放,从而避免资源泄漏和程序崩溃等问题。

文件指针移动

        要移动文件指针到指定位置,可以使用seek()函数。文件指针是一个内部变量,用于指示当前读写位置在文件中的位置。seek()函数接受两个参数:第一个参数用于指定新的位置,以字节为单位;第二个参数可选,表示要从哪个位置开始偏移,0表示从文件开头开始算起(默认值),1表示从当前位置开始算起,2表示从文件末尾开始算起。移动后,下一次读写操作将从指定位置开始。

file = open('text.txt', 'r')# 读取前6个字符data = file.read(6)# 移动文件指针到文件开头file.seek(0)# 再次读取前6个字符data = file.read(6)file.close()

        除了seek()函数,还可以使用tell()函数来获取当前文件指针的位置。tell()函数返回一个整数,表示当前文件指针的位置。

file = open('text.txt', 'r')data = file.read(6)position = file.tell()print(position)file.close()

获取目录列表

        在Python中,可以使用os模块的listdir()函数来获取目录列表,该函数将返回给定目录中的所有文件和目录的名称列表。

import oscur_dir = os.getcwd()files = os.listdir(cur_dir)for file in files:    print(file)

        在Python 3.4及更高版本中,还可以使用os模块的scandir()函数扫描目录的内容。scandir()函数会返回一个生成器,每次迭代产生一个ScandirItem对象,该对象代表目录中的一个条目,包括:文件、目录、链接等。

import oscur_dir = os.getcwd()for item in os.scandir(cur_dir):      print(item.path, item.is_file())

        我们还可以使用pathlib模块的Path()函数返回一个PosixPath或WindowsPath对象,该对象有一个iterdir()函数,用于创建一个包含该目录下所有文件和目录的迭代器。由iterdir()函数生成的每个条目都包含文件或目录的信息,比如:名称、文件属性等。

import osfrom pathlib import Pathcur_dir = os.getcwd()entries = Path(cur_dir)for entry in entries.iterdir():    print(entry.name, entry.is_dir())

        除了iterdir()函数,Path对象还包括不少实用的函数,可参看下面的介绍。

        Path.mkdir(mode=0o777, parents=False, exist_ok=False):创建目录。如果目录已经存在,exist_ok=True参数将避免引发异常。注意:需要确保当前用户具有足够的权限来创建目录,如果目录权限不允许创建或发生其他错误,可能会引发异常。

        Path.unlink(missing_ok=False):删除文件。注意:需要确保当前用户具有足够的权限来删除文件,如果文件权限不允许删除或发生其他错误,可能会引发异常。

        Path.chmod(mode):改变文件权限。注意:需要确保当前用户具有足够的权限来改变文件权限,如果权限不足或发生其他错误,可能会引发异常。

        Path.chown(uid, gid, recursive=False):改变文件所有者,uid和gid参数指定新的所有者和组。注意:需要确保当前用户具有足够的权限来改变文件所有者。在某些操作系统上,该功能可能不可用或有限制。如果权限不足或发生其他错误,可能会引发异常。

        Path.touch(mode=0o777, exist_ok=True):创建新文件,如果文件已存在,则不改变内容。该函数需要写入权限才能创建文件,如果当前用户没有足够的权限,可能会引发权限错误。

        Path.rmdir(missing_ok=False):删除目录。注意:该函数只能删除空目录,如果目录中包含文件或其他目录,将无法进行删除。另外,使用该函数时,需要确保当前用户具有足够的权限来删除目录;如果目录权限不允许删除或发生其他错误,可能会引发异常。

        Path.rename(new_path):重命名文件或目录。如果文件或目录已经存在,它将被覆盖。注意:在使用该函数时,需要确保当前用户具有足够的权限来重命名文件或目录;如果权限不足或发生其他错误,可能会引发异常。

        Path.exists(path, exist_ok=False):检查路径是否存在。

        Path.is_dir(path):检查路径是否为目录。

        Path.is_file(path):检查路径是否为文件。

        Path.glob(pattern):对给定的模式进行glob遍历。注意:需要确保当前用户具有足够的权限来访问目录中的文件,如果发生权限不足或其他错误,可能会引发异常。

        Path.resolve(strict=False):获取文件或目录的绝对路径。

来源地址:https://blog.csdn.net/hope_wisdom/article/details/132656167

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

10 Python的文件操作

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python基础-文件操作(10)

一、什么是文件等等这些都叫做文件,各种格式的。但不仅仅限制于这些。 二、文件的作用大家应该听说过一句话:“好记性不如烂笔头”。不仅人的大脑会遗忘事情,计算机也会如此,比如一个程序在运行过程中用了九牛二虎之力终于计算出了结果,试想一下如果不把
2023-01-31

Python的文件操作

读操作file = open('测试文件',mode='r',encoding='utf-8')print(file.read()) 写操作file = open('测试文件',mode='w',encoding='utf-8')file.
2023-01-30

python文件的操作

首先看看在pycharm输入文件句柄,怎样显示他的定义f = open('student_msg', encoding='utf-8', mode='a+') # 打开一个文件,赋值给fprint(type(f), f) # f文件句柄是
2023-01-31

python 文件操作api(文件操作函数)

python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目录名:os.listdir() 函数用来
2022-06-04

python 文件操作

python基本的文件操作,包括 open,read,write对文件操作流程:1.打开文件,得到文件句柄并赋值给一个变量2.通过句柄对文件进行操作3.关闭文件新建一个txt文件,内容是《Yesterday When I Was Young
2023-01-30

python文件操作

1. 文件操作 open 打开 f = open(文件路径, mode="模式", encoding="编码格式") 最最底层操作的就是bytes 打开一个文件的时候获取到的是一个文件句柄.
2023-01-30

python 操作文件

python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。操作前需要 import os;返回当前目录,不包括文件名: os.getcwd();返回指定目录下的所有文件和目录名:os.listdir("dirn
2023-01-31

python---文件操作

一、对文件操作流程1.打开文件,得到文件句柄并赋值给一个变量2.通过文件句柄对文件进行操作3.关闭文件二、文件打开模式f = open("file_test","r",encoding = "utf-8")    #打开文件,“读模式”,只
2023-01-31

python-文件操作

文件操作1.  读 / 写 操作读取: r (read):只能读不能写,文件不存在就报错​#打开文件:    object = open('某txt文件',mode = 'r',encoding = '编码')​#读取文件所有内容到内存:
2023-01-31

Python--文件操作

文件处理流程1.打开文件,得到文件句柄并赋值给一个变量2.通过句柄对文件进行操作3.关闭文件 r模式,默认模式,文件不存在则报错w模式,文件不存在则创建,文件存在则覆盖a模式,文件不存在则创建,文件存在则不会覆盖,写内容会以追加的方式写(写
2023-01-30

python 对文件的操作

python对文件的操作    打开文件的方式:    r :  读数据  默认方式;    w :  只写,打开文件之前重写这个文件,打开文件的同时把文件清空;    a :   以追加的方式写在文件最后,因为指针在最后;    + :
2023-01-31

python对文件的操作

python对文件的操作创建与打开对文件的读写操作对文件的复制,删除,重命名等操作举例说明python打开一个文件可以用open或file>>> fo=open('./12.txt')>>> fo.read()'abc\nthis is \
2023-01-31

Python 操作.csv文件

import csvcsvfile = file('E:\\workspace\\data\\ex1.csv', 'rb')reader = csv.reader(csvfile)for line in reader:    print l
2023-01-31

Python之文件操作

Python可以对文件进行查看、创建等功能,可以对文件内容进行添加、修改、删除,且所使用到的函数在Python3.5.x为open,在Python2.7.x同时支持file和open,但是在3.5.x系列移除了file函数。Python文件
2023-01-31

Python--6 文件操作

文件通常用于存储数据或应用系统的参数。Python 提供了 OS、 os.path、 shutil 等模块处理文件, 其中包括打开文件、 读写文件、 复制和删除文件等函数。python文件操作基本流程: 1.打开文件,或者新建立一个文件2.
2023-01-30

3 Python文件操作

open以什么编码方式存储文件,就以什么编码方式打开f = open('d:\模特主妇护士班主任.txt',encoding='utf-8') # 绝对路径打开f.close()f = open('模特主妇护士班主任',encoding=
2023-01-31

Python文件IO操作

文件IO常用操作:open打开read读取write写入close关闭readline行读取readlines多行读取seek文件指针操作tell指针位置打开操作:open(file, mode='r', buffering=-1, enc
2023-01-31

python 文件操作2

继续讲解文件操作的其他内置方法读取文件句柄的指针指针,就是说,程序读取文件到哪一行了。f=open("Yesterday.txt",r,encoding="utf-8")print(f.tell())执行输出 0默认是从0行开始读取的。读取
2023-01-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录