文件操作
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()
# 删除指定的目录
- Working Python Files With inworking python files with working strings python with rarfile rarcannotexec working python expression working regular python apple sign with in ignore hidden python files multiple python merge files isolate python conda with learning machine python in request文件python files