栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python 文件

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python 文件

参考书目Python for Data Analysis, 2nd Edition
章节第 3 章 Python数据结构、函数和文件
文件 文件的打开与关闭

使用with语句打开文件,在退出代码时,文件会被自动关闭

In [39]: path = 'C:/Users/cjwdl/Desktop/test.txt'

In [40]: with open(path) as f:
    ...:     lines = [x.rstrip() for x in f]

输入open(path)默认以只读模式打开文件,输入open(path, ‘w’)是以只写模式打开文件,此时会创建一个同名的新文件,并覆盖掉原来的文件,所有的读/写模式如下表所示:

模式说明
r只读模式
w只写模式。创建新文件,覆盖原文件
a添加到现有文件,如果文件不存在则创建新文件
r+读写模式
b以二进制格式打开文件,即‘rb’或‘wb’
文件的常用方法

对于可读文件,常用的方法是read、seek和tell。

read方法

read会从文件返回字符,字符的内容是由编码格式(如UTF-8)决定的,如果以二进制模式打开文件就是原始字符:

In [44]: f = open(path)
In [45]: f.read(10)  # read(n),n是一个整数,指的是读取n个字节
Out[45]: 'Youth is n'

In [46]: f2 = open(path, 'rb')  # ‘rb’以二进制模式打开
In [47]: f2.read(10)
Out[47]: b'Youth is n'
tell方法

read(n) 读取文件时,可以想象有一个指针,从指针的位置开始读取n个字节。读取完毕之后指针的位置会后移,移动的距离是n个字节。tell()函数可以给出当前指针所在的位置

In [48]: f.tell()
Out[48]: 10  # 当前指针位于第10个字节

In [49]: f2.tell()
Out[49]: 10
seek方法

seek()函数将指针的位置更改为指定的字节:

# seek()函数有三种形式:
1) f.seek(p, 0)或者seek(p) 
# 将文件的读取指针移动到第p个字节处(0表示文件头),表示绝对位置。seek(0)表示文件开头
2) f.seek(p, 1)
# 表示在当前位置的基础上,将指针向后移动p个字节,表示相对位置
3) f.seek(p, 2)
# 表示在文件尾的基础上,将指针移动p个字节,表示相对位置。seek(0, 2)表示将指针移动到文件尾。
close方法

close()方法关闭文件

In [50]: f.close()

In [52]: f2.close()
向文件写入数据

向文件写入,可以使用文件的write或writelines方法。

with open('tmp.txt', 'w') as file:
	file.write(str)  # write()函数的参数是一个字符串
	file.writelines(list)  # writelines()函数的参数是一个序列,会自动迭代该序列写入数据,但是写入时并不会自动换行,如需换行需要手动加入换行符(n)

下表是一些常见的文件方法:

方法说明
read([size])以字符串的格式返回数据,可选参数size用于说明读取的字节数
readlines([size])将文件返回为行列表,可选参数size
write(str)将字符串写入文件
close()关闭文件
flush()清空内部I/O缓存,并将数据强行写回磁盘
seek(pos)移动到指定的文件位置
tell()以整数形式返回当前指针的位置
closed如果文件已关闭,则返回True
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1005389.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号