Python教程
Python 基础手册
Python 英语
Python 简介
Python 入门
Python 语法
Python 注释
Python 变量
Python 关键字
Python 快捷键
Python 数据类型
Python 布尔
Python 运算符
Python 占位符
Python If语句
Python For循环
Python While循环
Python 数字
Python 字符串
字符串 capitalize()
字符串 casefold()
字符串 center()
字符串 count()
字符串 encode()
字符串 endswith()
字符串 expandtabs()
字符串 find()
字符串 format()
字符串 format_map()
字符串 index()
字符串 isalnum()
字符串 isalpha()
字符串 isdecimal()
字符串 isdigit()
字符串 isidentifier()
字符串 islower()
字符串 isnumeric()
字符串 isprintable()
字符串 isspace()
字符串 istitle()
字符串 isupper()
字符串 join()
字符串 ljust()
字符串 lower()
字符串 lstrip()
字符串 maketrans()
字符串 partition()
字符串 replace()
字符串 rfind()
字符串 rindex()
字符串 rjust()
字符串 rpartition()
字符串 rsplit()
字符串 rstrip()
字符串 split()
字符串 splitlines()
字符串 startswith()
字符串 strip()
字符串 swapcase()
字符串 title()
字符串 translate()
字符串 upper()
字符串 zfill()
Python 列表
列表 append()
列表 clear()
列表 copy()
列表 count()
列表 extend()
列表 index()
列表 insert()
列表 pop()
列表 remove()
列表 reverse()
列表 sort()
Python 数组
Python 元组
元组 count()
元组 index()
Python 集合
集合 add()
集合 clear()
集合 copy()
集合 difference()
集合 difference_update()
集合 discard()
集合 intersection()
集合 intersection_update()
集合 isdisjoint()
集合 issubset()
集合 issuperset()
集合 pop()
集合 remove()
集合 symmetric_difference()
集合 symmetric_difference_update()
集合 union()
集合 update()
Python 字典
字典 clear()
字典 copy()
字典 fromkeys()
字典 get()
字典 items()
字典 keys()
字典 pop()
字典 popitem()
字典 setdefault()
字典 update()
字典 values()
Python 函数
内建函数 abs()
内建函数 all()
内建函数 any()
内建函数 ascii()
内建函数 bin()
内建函数 bool()
内建函数 bytearray()
内建函数 bytes()
内建函数 callable()
内建函数 chr()
内建函数 classmethod()
内建函数 compile()
内建函数 complex()
内建函数 delattr()
内建函数 dict()
内建函数 dir()
内建函数 divmod()
内建函数 enumerate()
内建函数 eval()
内建函数 exec()
内建函数 filter()
内建函数 float()
内建函数 format()
内建函数 frozenset()
内建函数 getattr()
内建函数 globals()
内建函数 hasattr()
内建函数 hash()
内建函数 help()
内建函数 hex()
内建函数 id()
内建函数 input()
内建函数 int()
内建函数 isinstance()
内建函数 issubclass()
内建函数 iter()
内建函数 len()
内建函数 list()
内建函数 locals()
内建函数 map()
内建函数 max()
内建函数 memoryview()
内建函数 min()
内建函数 next()
内建函数 object()
内建函数 oct()
内建函数 open()
内建函数 ord()
内建函数 pow()
内建函数 print()
内建函数 property()
内建函数 range()
内建函数 repr()
内建函数 reversed()
内建函数 round()
内建函数 set()
内建函数 setattr()
内建函数 slice()
内建函数 sorted()
内建函数 @staticmethod()
内建函数 str()
内建函数 sum()
内建函数 super()
内建函数 tuple()
内建函数 type()
内建函数 vars()
内建函数 zip()
Python 类和对象
Python 继承
Python 迭代器
Python 作用域
Python 模块
Python 日期
Python JSON
Python 正则表达式
Python PIP
Python Try Except
Python 命令行输入
Python 文件处理
文件处理 close()
文件处理 detach()
文件处理 fileno()
文件处理 flush()
文件处理 isatty()
文件处理 read()
文件处理 readable()
文件处理 readline()
文件处理 readlines()
文件处理 seek()
文件处理 seekable()
文件处理 tell()
文件处理 truncate()
文件处理 writeable()
文件处理 write()
文件处理 writelines()
Python 模块手册
Python 随机模块(Random)
Python OS模块
Python 请求模块(Requests)
Requests.delete()
Requests.get()
Requests.head()
Requests.post()
Python 数学模块(cmath)
Python math模块
Python 网络爬虫
HTTP 教程
HTTP/HTTPS 简介
HTTP 消息结构
HTTP 请求方法
HTTP 响应头信息
HTTP 状态码
Python 实例练习
练习001.算术运算
练习002.数字阶乘
练习003.计算面积
练习004.求取素数
练习005.计算平方
练习006.列表求和
练习007.数字偶数
练习008.列表删除
练习009.列表去重
练习010.列表排序
练习011.文件读写
练习012.计算分数
本文档使用 MrDoc 发布
-
+
首页
Python 文件处理
**文件处理是任何 Web 应用程序的重要组成部分。 Python 有几个用于创建、读取、更新和删除文件的函数。** ## 文件处理 在 Python 中使用文件的关键函数是 open() 函数。 open() 函数有两个参数:文件名和模式。 有四种打开文件的不同方法(模式): * "r" - 读取 - 默认值。打开文件进行读取,如果文件不存在则报错。 * "a" - 追加 - 打开供追加的文件,如果不存在则创建该文件。 * "w" - 写入 - 打开文件进行写入,如果文件不存在则创建该文件。 * "x" - 创建 - 创建指定的文件,如果文件存在则返回错误。 此外,您可以指定文件是应该作为二进制还是文本模式进行处理。 * "t" - 文本 - 默认值。文本模式。 * "b" - 二进制 - 二进制模式(例如图像)。 ### 语法 此外,您可以指定文件是应该作为二进制还是文本模式进行处理: ``` f = open("demofile.txt") ``` 以上代码等同于: ``` f = open("demofile.txt", "rt") ``` 因为 "r" (读取)和 "t" (文本)是默认值,所以不需要指定它们。 **注释**:请确保文件存在,否则您将收到错误消息。 ## Python 文件打开 **在服务器上打开文件** 假设我们有以下文件,位于与 Python 相同的文件夹中: > demofile.txt > Hello! Welcome to demofile.txt > This file is for testing purposes. > Good Luck! 如需打开文件,请使用内建的 open() 函数。 open() 函数返回文件对象,此对象有一个 read() 方法用于读取文件的内容: 实例 ``` f = open("demofile.txt", "r") print(f.read()) ``` ### 只读取文件的一部分 默认情况下,read() 方法返回整个文本,但您也可以指定要返回的字符数: 实例 ``` 返回文件中的前五个字符: f = open("demofile.txt", "r") print(f.read(5)) ``` ### 读行 您可以使用 readline() 方法返回一行: 实例 读取文件中的一行: ``` f = open("demofile.txt", "r") print(f.readline()) ``` 通过两次调用 readline(),您可以读取前两行: 实例 读取文件中的两行: ``` f = open("demofile.txt", "r") print(f.readline()) print(f.readline()) ``` 通过循环遍历文件中的行,您可以逐行读取整个文件: 实例 逐行遍历文件: ``` f = open("demofile.txt", "r") for x in f: print(x) ``` ### 关闭文件 完成后始终关闭文件是一个好习惯。 实例 完成后关闭文件: ``` f = open("demofile.txt", "r") print(f.readline()) f.close() ``` **注释**:在某些情况下,由于缓冲,您应该始终关闭文件,在关闭文件之前,对文件所做的更改可能不会显示。 ## Python 文件写入 **写入已有文件** 如需写入已有的文件,必须向 open() 函数添加参数: * "a" - 追加 - 会追加到文件的末尾 * "w" - 写入 - 会覆盖任何已有的内容 实例 打开文件 "demofile2.txt" 并将内容追加到文件中: ``` f = open("demofile2.txt", "a") f.write("Now the file has more content!") f.close() #追加后,打开并读取该文件: f = open("demofile2.txt", "r") print(f.read()) ``` 实例 打开文件 "demofile3.txt" 并覆盖内容: ``` f = open("demofile3.txt", "w") f.write("Woops! I have deleted the content!") f.close() #写入后,打开并读取该文件: f = open("demofile3.txt", "r") print(f.read()) ``` **注释**:"w" 方法会覆盖全部内容。 ### 创建新文件 如需在 Python 中创建新文件,请使用 open() 方法,并使用以下参数之一: * "x" - 创建 - 将创建一个文件,如果文件存在则返回错误 * "a" - 追加 - 如果指定的文件不存在,将创建一个文件 * "w" - 写入 - 如果指定的文件不存在,将创建一个文件 实例 创建名为 "myfile.txt" 的文件: ``` f = open("myfile.txt", "x") ``` 结果:已创建新的空文件! 实例 如果不存在,则创建新文件: ``` f = open("myfile.txt", "w") ``` ## Python 删除文件 ### 删除文件 如需删除文件,必须导入 OS 模块,并运行其 os.remove() 函数: 实例 删除文件 "demofile.txt": ``` import os os.remove("demofile.txt") ``` ### 检查文件是否存在 为避免出现错误,您可能需要在尝试删除文件之前检查该文件是否存在: 实例 检查文件是否存在,然后删除它: ``` import os if os.path.exists("demofile.txt"): os.remove("demofile.txt") else: print("The file does not exist") ``` ### 删除文件夹 如需删除整个文件夹,请使用 os.rmdir() 方法: 实例 删除文件夹 "myfolder": ``` import os os.rmdir("myfolder") ``` **提示**:您只能删除空文件夹。 ## Python 文件方法 | 方法 | 描述 | | --- | --- | | [close()](http://www.yunku.fun/project-8/doc-2276/) | 关闭文件。 | | [detach()](http://www.yunku.fun/project-8/doc-2277/) | 从缓冲区返回分离的原始流(raw stream)。 | | [fileno()](http://www.yunku.fun/project-8/doc-2278/) | 从操作系统的角度返回表示流的数字。 | | [flush()](http://www.yunku.fun/project-8/doc-2279/) | 刷新内部缓冲区。 | | [isatty()](http://www.yunku.fun/project-8/doc-2280/) | 返回文件流是否是交互式的。 | | [read()](http://www.yunku.fun/project-8/doc-2281/) | 返回文件内容。 | | [readable()](http://www.yunku.fun/project-8/doc-2282/) | 返回是否能够读取文件流。 | | [readline()](http://www.yunku.fun/project-8/doc-2283/) | 返回文件中的一行。 | | [readlines()](http://www.yunku.fun/project-8/doc-2284/) | 返回文件中的行列表。 | | [seek()](http://www.yunku.fun/project-8/doc-2285/) | 更改文件位置。 | | [seekable()](http://www.yunku.fun/project-8/doc-2286/) | 返回文件是否允许我们更改文件位置。 | | [tell()](http://www.yunku.fun/project-8/doc-2287/) | 返回当前的文件位置。 | | [truncate()](http://www.yunku.fun/project-8/doc-2288/) | 把文件调整为指定的大小。 | | [writeable()](http://www.yunku.fun/project-8/doc-2289/) | 返回是否能够写入文件。 | | [write()](http://www.yunku.fun/project-8/doc-2290/) | 把指定的字符串写入文件。 | | [writelines()](http://www.yunku.fun/project-8/doc-2291/) | 把字符串列表写入文件。 |
admin
2025年4月17日 21:51
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码