Working With Files in Python
文件操作
Python中文件的读和写
参考文档Working With Files in Python
Python的读写非常简单,但是需要在合适的模式下打开。通常都是使用以下规范的操作来进行:
i. 打开文件 open()
ii. 读写文件 read()、write()
iii. 关闭文件 close()
这是一个简单的例子:
with open('data.txt','r') as f:
data = f.read()
print ('content:{}'.format(data))
with...as
用于管理资源的上下文,并确保在使用完资源后正确地释放它们。它通常用于处理文件、网络连接、数据库连接等需要手动关闭的资源。无论代码块中是否发生异常,资源都将被正确关闭。一旦代码块结束,资源将自动释放,无需手动调用关闭方法或释放资源。
在Python中,open()
是一个内置函数,用于打开文件并返回一个文件对象。它的一般用法如下:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
open()
函数接受多个参数,这里列举其中一些常用的参数:
-
file
:表示要打开的文件名(包括路径),可以是字符串类型或字节类型。 -
mode
:表示文件的打开模式,它是一个字符串参数。常用的模式有:'r'
:表示以只读方式打开文件(默认)。'w'
:表示以写入方式打开文件,会清空已有的内容。'a'
:表示以追加方式打开文件,在已有文件末尾进行写入。
-
encoding
:表示文件的编码方式,用于读取或写入文件时进行解码和编码,默认为None
,表示使用系统默认的编码方式。 -
newline
:表示在文本模式下换行符的处理方式,可以是None
(使用系统默认值)、''
(转换为'\n'
)或'r'
(保持原样)。 -
请注意,
open()
函数返回的文件对象在使用完毕后应该调用close()
方法来关闭文件。然而,使用with
语句可以自动处理文件的关闭,不必手动关闭文件。
-
read()
返回文件的全部内容,是一个str类型,有一个可选参数位size=-1
默认是读取文件的全部内容。当文件过大时,可能会占用大量的内存,所以可以用逐行读入的方法。 -
readline()
是用于从文件对象中读取单独一行内容的方法。它会读取文件中当前位置直到遇到换行符(\n)
为止的内容。该方法可以多次使用. -
文件指针
用于标记从哪个位置开始读取数据,第一次打开文件时,通常文件指针会指向文件的开始位置,当执行了 read 方法后,默认情况下文件指针会移动到读取内容的末尾。 -
write()
用于将字符串或者字节串写入到文件中。它会将指定的内容写入到文件指针所指向的位置。
Python中文件和目录的管理
使用时需要调入 os
包。
序号 | 方法名 | 解释 | 示例 |
---|---|---|---|
1 | rename() | 重命名文件 | os.rename(源文件名,目标文件名) |
2 | remove() | 删除文件 | os.remove(文件名) |
3 | listdir() | 目录列表 | os.listdir(目录名) |
4 | mkdir() | 创建目录 | os.mkdir(目录名) |
5 | rmdir() | 删除目录 | os.rmdir(目录名) |
6 | getcwd() | 获取当前目录 | os.getcwd() |
7 | chdir() | 修改工作目录 | os.chdir(目标文件) |
8 | path.isdir() | 判断是否是文件 | os.path.isdir(文件路径) |
import os
os.rename()
# 可以修改文件的名字,也可以修改目录的名字
os.remove()
# 只能用于删除文件,不能删除目录;如果删除的文件不存在或者对文件的操作权限不够会抛出异常
os.listdir()
# 返回的是一个包含目录下所有文件和子目录名称的列表,不会列出子目录中的文件和子目录。
os.mkdir()
# 在指定路径下创建目录
os.rnmdir()
# 删除指定的目录