2018-11-23 孙小北

Python入门之文件读写

Python是一种解释型的、面向对象的、带有动态语义的高级程序设计语言,本节主要总结Python入门之文件读写:open(),read(),readline(),write(),close()

简单读写文件

open() 将会返回一个 file 对象。

open(filename, mode)

filename:包含了你要访问的文件名称的字符串值。

mode:决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)

注:文档操作完成后一定要记得关闭

常用模式:

r    以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式

rb    以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。    

r+    打开一个文件用于读写。文件指针将会放在文件的开头。    

rb+    以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。    

w    打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。    

wb    以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。   

 w+    打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。    

wb+    以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。    

a    打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。    

ab    以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。   

a+    打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。   

ab+    以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。    

# 打开文件
file = open('test.txt', 'w')
# 写入内容
file.write("欢迎来到小望云北屋 \n唯一网址:www.xiaowangyun.com")
# 关闭文档
file.close()

注: mode 可以是 'r' 如果文件只读, 'w' 只用于写 (如果存在同名文件则将被删除), 和 'a' 用于追加文件内容; 所写的任何数据都会被自动增加到末尾. 'r+' 同时用于读写。 mode 参数是可选的; 'r' 将是默认值。

文件对象的方法

f.read()

为了读取一个文件的内容,调用 f.read(size), 这将读取一定数目的数据, 然后作为字符串或字节对象返回。

size 是一个可选的数字类型的参数。 当 size 被忽略了或者为负, 那么该文件的所有内容都将被读取并且返回。

file = open('test.txt', 'r')
str = file.read()
print(str)
file.close()

输出:

欢迎来到小望云北屋 

唯一网址:www.xiaowangyun.com

f.readline()

f.readline() 会从文件中读取单独的一行。换行符为 '\n'。f.readline() 如果返回一个空字符串, 说明已经已经读取到最后一行。

file = open('test.txt', 'r')
str = file.readline()
print(str)
file.close()

输出:欢迎来到小望云北屋

f.readlines()

f.readlines() 将返回该文件中包含的所有行。

如果设置可选参数 sizehint, 则读取指定长度的字节, 并且将这些字节按行分割。

file = open('test.txt', 'r')
str = file.readlines()
print(str)
file.close()

输出:

['欢迎来到小望云北屋 \n', '唯一网址:www.xiaowangyun.com']

f.write()

f.write(string) 将 string 写入到文件中, 然后返回写入的字符数。

# 打开文件
file = open('test.txt', 'w')
# 写入内容
num= file.write("欢迎来到小望云北屋 \n唯一网址:www.xiaowangyun.com")
# 关闭文档
file.close()
print(num)

输出:35

如果要写入一些不是字符串的东西, 需要str进行转换:

file = open('test.txt', 'w')
site = ('小望云', 'www.xiaowangyun.com')
num = file.write(str(site))
file.close()

f.close()

在文本文件中 (那些打开文件的模式下没有 b 的), 只会相对于文件起始位置进行定位。

当你处理完一个文件后, 调用 f.close() 来关闭文件并释放系统的资源,如果尝试再调用该文件,则会抛出异常。

编辑:孙小北

本文地址: https://www.xiaowangyun.com/wyblog/detail/?id=1022

版权归属: www.xiaowangyun.com   转载时请以链接形式注明出处

0 条评论

快来评论

物以类聚

最新评论

2017-10-06

一辈子不长,只有珍惜了,才不至于后悔。

2017-10-06

懂得感恩,才能走得更远。

标签云

归档

取消

感谢您的支持,您的每一次打赏都是一次鼓励!

扫码支持
每一次支持,都是不懈的动力

打开支付宝扫一扫,即可进行扫码打赏哦