文件基本操作
如果执行正常,open()函数返回1个可迭代的文件对象,通过该文件对象可以对文件进行读写操作,
如果指定文件不存在、访问权限不够、磁盘空间不够或其他原因导致创建文件对象失败则抛出异常。
下面的代码分别以读、写方式打开了两个文件并创建了与之对应的文件对象。
f1 = open( 'file1.txt', 'r' )
f2 = open( 'file2.txt', 'w')
当对文件内容操作完以后,一定要关闭文件对象,这样才能保证所做的任何修改都确实被保存到文件中。
f1.close()
需要注意的是,即使写了关闭文件的代码,也无法保证文件一定能够正常关闭。
例如,如果在打开文件之后和关闭文件之前发生了错误导致程序崩溃,这时文件就无法正常关闭。
在管理文件对象时推荐with关键字,可以有效地避免这个问题。
用于文件内容读写时,with语句的用法如下:
with open(filename, mode, encoding) as fp:
#这里写通过文件对象fp读写文件内容的语句
另外,上下文管理语句with还支持下面的用法,进一步简化了代码的编写。
with open('test.txt', 'r') as src, open('test_new.txt', 'w') as dst:
dst.write(src.read())
r 读模式(默认模式,可省略),如果文件不存在则抛出异常
w 写模式,如果文件已存在,先清空原有内容
x 写模式,创建新文件,如果文件已存在则抛出异常
a 追加模式,不覆盖文件中原有内容
b 二进制模式(可与其他模式组合使用)
t 文本模式(默认模式,可省略)
+ 读、写模式(可与其他模式组合使用)
文件的读取
按行读取方式readline()
readline()每次读取文件中的一行,需要使用永真表达式循环读取文件
多行读取方式readlines()
readlines()可以一次性读取文件中多行数据
一次性读取方式read()
read()将从文件中一次性读出所有内容
文件的重命名
先使用os模块下的listdir()与rename()组合完成文件的重命名
如果执行正常,open()函数返回1个可迭代的文件对象,通过该文件对象可以对文件进行读写操作,
如果指定文件不存在、访问权限不够、磁盘空间不够或其他原因导致创建文件对象失败则抛出异常。
下面的代码分别以读、写方式打开了两个文件并创建了与之对应的文件对象。
f1 = open( 'file1.txt', 'r' )
f2 = open( 'file2.txt', 'w')
当对文件内容操作完以后,一定要关闭文件对象,这样才能保证所做的任何修改都确实被保存到文件中。
f1.close()
需要注意的是,即使写了关闭文件的代码,也无法保证文件一定能够正常关闭。
例如,如果在打开文件之后和关闭文件之前发生了错误导致程序崩溃,这时文件就无法正常关闭。
在管理文件对象时推荐with关键字,可以有效地避免这个问题。
用于文件内容读写时,with语句的用法如下:
with open(filename, mode, encoding) as fp:
#这里写通过文件对象fp读写文件内容的语句
另外,上下文管理语句with还支持下面的用法,进一步简化了代码的编写。
with open('test.txt', 'r') as src, open('test_new.txt', 'w') as dst:
dst.write(src.read())
r 读模式(默认模式,可省略),如果文件不存在则抛出异常
w 写模式,如果文件已存在,先清空原有内容
x 写模式,创建新文件,如果文件已存在则抛出异常
a 追加模式,不覆盖文件中原有内容
b 二进制模式(可与其他模式组合使用)
t 文本模式(默认模式,可省略)
+ 读、写模式(可与其他模式组合使用)
文件的读取
按行读取方式readline()
readline()每次读取文件中的一行,需要使用永真表达式循环读取文件
多行读取方式readlines()
readlines()可以一次性读取文件中多行数据
一次性读取方式read()
read()将从文件中一次性读出所有内容
文件的重命名
先使用os模块下的listdir()与rename()组合完成文件的重命名