Python基础教程(第3版)中文版 第11章 文件(笔记)

简介: Python基础教程(第3版)中文版 第11章 文件(笔记)

                                   第11章 文件

1.打开文件

使用函数 open 打开文件。

参数是文件名,返回文件对象

例:f = open('somefile.txt')

#如果文件和代码不在一个目录下,需要完整路径

文件模式(mode)

'r' : 读取(默认)

'w' : 写入

'x' : 独占写入,文件已存在时引发异常

'a' : 附加 #文件末尾继续写入

'b' : 二进制

't' : 文本(默认)

'+' : 读写

2.文件的基本方法

1.读取和写入

read 和 write

例:f = open('somefile.txt','w')

f.write('hello, ')

f.write('World!')

f.close()

2.使用管道重定向输出

在bash等shell中,可依次输入多个命令,使用管道(|)链接。

例:$ cat somefile.txt | python somescript.py | sort

3.读取和写入行

readline,提供非负整数(可选)表示读取字符数

readlines,读取所有行,列表形式返回

writelines和readlines相反,接受字符串列表,写入文件。

#没有writeline,因为有write

4.关闭文件

close

要确保文件得以关闭,可使用一条try/finally语句,并在finally子句中调用close。

# 在这里打开文件

try:

# 将数据写入到文件中

finally:

file.close()

或者使用with语句

with open("sonefile.txt") as somefile:

   do_someting...


5.使用文件的基本方法(略)

3.迭代文件内容

1每次一个字符

遍历字符:

with open(filename) as f:

   char = f.read(1)

   while char:

       process(char)

       char = f.read(1)

或者使用更简洁的版本:

with open(filename) as f:

   while True:

       char = f.read(1)

       if not char: break

       process(char)

2.每次一行

将上面的read(1)改成readline

with open(filename) as f:

   while True:

       line = f.readline()

       if not line: break

       process(line)

3.读取所有内容

with open(filename) as f:

   for char in f.read():

       process(char)


with open(filename) as f:

   for line in f.readlines():

       process(line)

4.使用fileinput实现延迟行迭代(针对大型文件)

import fileinput

for line in fileinput.input(filename):

   process(line)

5.文件迭代器

文件是可迭代的

with open(filename) as f:

   for line in f:

       process(line)


相关文章
|
6天前
|
存储 Python
SciPy 教程 之 SciPy 稀疏矩阵 4
SciPy 教程之 SciPy 稀疏矩阵 4:介绍稀疏矩阵的概念、类型及其在科学计算中的应用。SciPy 的 `scipy.sparse` 模块提供了处理稀疏矩阵的工具,重点讲解了 CSC 和 CSR 两种格式,并通过示例演示了如何创建和操作 CSR 矩阵。
28 3
|
2天前
|
Python
SciPy 教程 之 SciPy 图结构 7
《SciPy 教程 之 SciPy 图结构 7》介绍了 SciPy 中处理图结构的方法。图是由节点和边组成的集合,用于表示对象及其之间的关系。scipy.sparse.csgraph 模块提供了多种图处理功能,如 `breadth_first_order()` 方法可按广度优先顺序遍历图。示例代码展示了如何使用该方法从给定的邻接矩阵中获取广度优先遍历的顺序。
11 2
|
3天前
|
算法 Python
SciPy 教程 之 SciPy 图结构 5
SciPy 图结构教程,介绍图的基本概念和SciPy中处理图结构的模块scipy.sparse.csgraph。重点讲解贝尔曼-福特算法,用于求解任意两点间最短路径,支持有向图和负权边。通过示例演示如何使用bellman_ford()方法计算最短路径。
13 3
|
4天前
|
开发者 Python
Python中__init__.py文件的作用
`__init__.py`文件在Python包管理中扮演着重要角色,通过标识目录为包、初始化包、控制导入行为、支持递归包结构以及定义包的命名空间,`__init__.py`文件为组织和管理Python代码提供了强大支持。理解并正确使用 `__init__.py`文件,可以帮助开发者更好地组织代码,提高代码的可维护性和可读性。
9 2
|
3天前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
11 1
|
7天前
|
存储 Python
SciPy 教程 之 SciPy 稀疏矩阵 2
SciPy教程之SciPy稀疏矩阵2:介绍稀疏矩阵的概念、应用场景及scipy.sparse模块的使用。重点讲解CSC和CSR两种稀疏矩阵类型及其常用方法,如data属性和count_nonzero()方法。
32 4
|
4天前
|
算法 索引 Python
SciPy 教程 之 SciPy 图结构 3
SciPy 图结构教程:介绍图的基本概念、节点和边的定义,以及如何使用 SciPy 的 `scipy.sparse.csgraph` 模块处理图结构。重点讲解 Dijkstra 最短路径算法及其在 SciPy 中的应用,包括 `dijkstra()` 方法的参数设置和使用示例。
10 0
|
4天前
|
Python
SciPy 教程 之 SciPy 图结构 2
《SciPy 教程 之 SciPy 图结构 2》介绍了图结构作为算法学中的重要框架,通过 `scipy.sparse.csgraph` 模块处理图结构。文章示例展示了如何使用 `connected_components()` 方法查找所有连接组件,通过创建稀疏矩阵并调用该方法实现。
7 0
|
5天前
|
算法 Python
SciPy 教程 之 SciPy 图结构 1
SciPy 图结构教程介绍了图的基本概念及其在算法中的应用。图由节点和边组成,节点代表对象,边表示对象间的连接。SciPy 的 `scipy.sparse.csgraph` 模块提供了处理图结构的工具。邻接矩阵用于表示节点间的连接关系,分为有向图和无向图两种类型。无向图的边是双向的,而有向图的边则有明确的方向。
15 0
|
5天前
|
存储 Python
SciPy 教程 之 SciPy 稀疏矩阵 5
SciPy 稀疏矩阵教程介绍了稀疏矩阵的概念及其在科学计算中的应用。SciPy 的 `scipy.sparse` 模块提供了处理稀疏矩阵的功能,主要使用 CSC(压缩稀疏列)和 CSR(压缩稀疏行)两种格式。通过示例展示了如何创建 CSR 矩阵、查看非零元素及转换为 CSC 格式。
17 0

热门文章

最新文章