目录
在 Python 3 中,输入和输出(I/O)指的是从外部源(如用户输入、文件等)获取数据,以及将数据输出到外部目的地(如屏幕、文件等)。Python 提供了多种内置函数和模块来支持 I/O 操作,以下是一些常见的输入输出方法和示例:
1. 标准输入输出
1.1 input()
函数
input()
函数用于从标准输入(通常是键盘)读取一行文本。用户输入的数据默认是以字符串形式返回。
示例:
python
深色版本
1name = input("请输入您的名字: ")
2print(f"你好,{name}!")
1.2 print()
函数
print()
函数用于输出信息到标准输出设备(通常是屏幕)。
示例:
python
深色版本
1print("Hello, World!")
2. 文件输入输出
Python 支持读写文件,可以使用 open()
函数打开文件,然后通过文件对象进行读写操作。
2.1 打开文件
open()
函数可以以不同的模式打开文件,如只读 'r'
、只写 'w'
、追加 'a'
等。
示例:
python
深色版本
1# 打开一个文件,模式为 'w' 表示写入模式
2with open("example.txt", "w") as file:
3 file.write("Hello, this is a test.\n")
2.2 读取文件
可以逐行读取文件,也可以一次性读取全部内容。
示例:
python
深色版本
1# 逐行读取文件
2with open("example.txt", "r") as file:
3 for line in file:
4 print(line.strip())
5
6# 一次性读取全部内容
7with open("example.txt", "r") as file:
8 content = file.read()
9 print(content)
2.3 读取文件的特定部分
可以使用 readline()
读取单行,使用 readlines()
读取所有行并返回一个列表。
示例:
python
深色版本
1# 读取单行
2with open("example.txt", "r") as file:
3 first_line = file.readline()
4 print(first_line.strip())
5
6# 读取所有行
7with open("example.txt", "r") as file:
8 lines = file.readlines()
9 for line in lines:
10 print(line.strip())
3. 文件的写入模式
写入模式 'w'
会覆盖原有文件内容,而追加模式 'a'
会在文件末尾追加新内容。
示例:
python
深色版本
1# 以追加模式打开文件
2with open("example.txt", "a") as file:
3 file.write("This is an additional line.\n")
4. 文件的上下文管理器
使用 with
语句可以自动管理文件的打开和关闭,即使在处理文件过程中发生异常,也能确保文件被正确关闭。
示例:
python
深色版本
1with open("example.txt", "w") as file:
2 file.write("This is a test.")
3print("文件已关闭:", file.closed) # 应该输出 True
5. 文件路径
处理文件路径时,可以使用 os
和 os.path
模块。
示例:
python
深色版本
1import os
2
3# 获取当前工作目录
4print(os.getcwd())
5
6# 获取文件的绝对路径
7file_path = os.path.abspath("example.txt")
8print(file_path)
9
10# 判断文件是否存在
11if os.path.exists(file_path):
12 print("文件存在")
13else:
14 print("文件不存在")
6. 文件编码
默认情况下,Python 在打开文件时使用 UTF-8 编码,但可以通过 encoding
参数指定其他编码。
示例:
python
深色版本
1# 使用 GBK 编码打开文件
2with open("example.txt", "w", encoding="gbk") as file:
3 file.write("你好,世界!")
7. 二进制文件
对于非文本文件(如图片、音频等),可以使用二进制模式 'rb'
、'wb'
等来读写。
示例:
python
深色版本
1with open("example.jpg", "rb") as file:
2 data = file.read()
3
4with open("copy.jpg", "wb") as file:
5 file.write(data)
总结
输入输出是编程中非常基础也非常重要的功能,Python 提供了丰富的方法来处理文件和其他输入输出操作。通过 input()
和 print()
函数,可以方便地与用户交互;通过 open()
函数和文件对象,可以读写文件。掌握这些基本操作,可以帮助你更好地处理数据和文件。无论是简单的命令行程序还是复杂的数据处理应用,了解和掌握输入输出的基本方法都是非常重要的