温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python文件读写操作方法是怎样的

发布时间:2022-01-25 09:27:06 来源:亿速云 阅读:144 作者:iii 栏目:开发技术

本篇内容主要讲解“Python文件读写操作方法是怎样的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python文件读写操作方法是怎样的”吧!

Python文件读写操作方法是怎样的

文件与文件路径

  • 在 Windows 中,根文件夹名为 C:\,也称为 C:盘。在 OS X 和 Linux中,根文件夹是/
  • 文件夹名称和文件名在Windows和OS X 上是不区分大小写的,但是在linux上是区分大小写的。

在文件夹层次结构中的一个文件

Windows 上的倒斜杠以及 OS X 和 Linux 上的正斜杠

在 Windows 上,路径书写使用倒斜杠作为文件夹之间的分隔符。但在 OS X 和Linux 上,使用正斜杠作为它们的路径分隔符。如果想要程序运行在所有操作系统上,在编写 Python 脚本时,就必须处理这两种情况。

如果将单个文件和路径上的文件夹名称的字符串传递给它,os.path.join()就会返回一个文件路径的字符串,包含正 确的路径分隔符。

>>> import os
>>> os.path.join('usr','bin','spam')'usr\\bin\\spam'

如果需要创建文件名称的字符串,os.path.join()函数就很有用。这些字符串将传递给几个文件相关的函数。

下面的例子将一个文件名列表中的名称,添加到文件夹名称的末尾。

>>> myFiles = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in myFiles:print(os.path.join('C:\\Users\\asweigart', filename))
C:\Users\asweigart\accounts.txt
C:\Users\asweigart\details.csv
C:\Users\asweigart\invite.docx

当前工作目录

每个运行在计算机上的程序,都有一个“当前工作目录”,或cwd。所有没有从根文件夹开始的文件名或路径,都假定在当前工作目录下。利用os.getcwd()函数,可以取得当前工作路径的字符串,并可以利用 os.chdir()改变它。

绝对路径与相对路径

  • “绝对路径”,总是从根文件夹开始。
  • “相对路径”,它相对于程序的当前工作目录。

还有点(.)和点点(..)文件夹。它们不是真正的文件夹,而是可以在路径中使用的特殊名称*。单个的句点(“点”)用作文件夹目名称时,是“这个目录”的缩写。两个句点(“点点”)意思是父文件夹。*

在工作目录 C:\bacon 中的文件夹和文件的相对路径:

用 os.makedirs()创建新文件夹

处理绝对路径和相对路径

os.path 模块提供了一些函数,返回一个相对路径的绝对路径,以及检查给定的路径是否为绝对路径。

调用 os.path.abspath(path)将返回参数的绝对路径的字符串。这是将相对路径转换为绝对路径的简便方法。

调用 os.path.isabs(path),如果参数是一个绝对路径,就返回True,如果参数是一个相对路径,就返回 False。

调用 os.path.relpath(path,start)将返回从start路径到path的相对路径的字符串。如果没有提供 start,就使用当前工作目录作为开始路径。

调用 os.path.dirname(path)将返回一个字符串,它包含path参数中最后一个斜杠 之前的所有内容。

调用 os.path.basename(path)将返回一个字符串,它包含path参数中最后一个斜杠之后的所有内容。

如果同时需要一个路径的目录名称和基本名称,就可以调用os.path.split(),获得这两个字符串的元组

>>> calcFilePath = 'C:\\Windows\\System32\\calc.exe'>>> os.path.split(calcFilePath)
('C:\\Windows\\System32', 'calc.exe')

os.path.split()不会接受一个文件路径并返回每个文件夹的字符串的列表。如果需要这样,请使用split()字符串方法,并根据os.path.sep中的字符串进行分割。回忆一下,根据程序运行的计算机,os.path.sep 变量设置为正确的文件夹分割斜杠。

>>> calcFilePath.split(os.path.sep)
['C:', 'Windows', 'System32', 'calc.exe']
查看文件大小和文件夹内容
调用 os.path.getsize(path)将返回 path 参数中文件的字节数。
调用 os.listdir(path)将返回文件名字符串的列表,包含 path 参数中的每个文件
检查路径有效性
如果 path 参数所指的文件或文件夹存在,调用 os.path.exists(path)将返回 True,否则返回 False。
如果 path 参数存在,并且是一个文件,调用 os.path.isfile(path)将返回 True,否则返回 False。

文件读写过程

在 Python 中,读写文件有 3 个步骤:

调用 open()函数,返回一个 File 对象。
调用 File 对象的 read()或 write()方法。
调用 File 对象的 close()方法,关闭该文件。

用 open()函数打开文件

要用 open()函数打开一个文件,就要向它传递一个字符串路径,表明希望打开的文件。这既可以是绝对路径,也可以是相对路径。open()函数返回一个 File 对象。

读取文件内容

调用 open()将返回一个File对象。File对象代表计算机中的一个文件,它只是Python 中另一种类型的值,就像你已熟悉的列表和字典。

调用readlines()方法,从文件取得一个字符串的列表。列表中的每个字符串就是文本中的每一行

调用read()方法可以将文件的内容读取为一个字符串值。如果将文件的内容看成是单个大字符串,用这个方法就很好。

与单个大字符串相比,字符串的列表通更易处理

写入文件

如果打开文件时用读模式,就不能写入文件。你需要以“写入纯文本模式”或“添加纯文本模式”打开该文件,或简称为“写模式”和“添加模式”。

写模式将覆写原有的文件,从头开始,就像你用一个新值覆写一个变量的值。将’w’作为第二个参数传递给 open(),以写模式打开该文件。

添加模式将在已有文件的末尾添加文本。你可以认为这类似向一个变量中的列表添加内容,而不是完全覆写该变量。将’a’作为第二个参数传递给open(),以添加模式打开该文件。

如果传递给 open()的文件名不存在,写模式和添加模式都会创建一个新的空文件。

在读取或写入文件后,调用 close()方法,然后才能再次打开该文件

>>> baconFile = open('bacon.txt', 'w')
>>> baconFile.write('Hello world!\n')
13
>>> baconFile.close()
>>> baconFile = open('bacon.txt', 'a')
>>> baconFile.write('Bacon is not a vegetable.')
25
>>> baconFile.close()
>>> baconFile = open('bacon.txt')
>>> content = baconFile.read()
>>> baconFile.close()
>>> print(content)
Hello world!
Bacon is not a vegetable.

write()方法不会像 print()函数那样,在字符串的末尾自动添加换行字符。必须自己添加该字符。

到此,相信大家对“Python文件读写操作方法是怎样的”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI