Python教程:Python中的输入与输出操作

在编程语言中,输入(Input)和输出(Output),简称I/O,是基础且重要的概念。Python作为一门易于学习且功能强大的编程语言,在处理输入和输出方面提供了多种方式。本文将深入探讨Python中的输入输出操作,包括标准输入输出、文件操作、以及网络I/O等领域

标准输入输出


标准输入输出是最基本的I/O形式,通常指的是程序与用户通过命令行界面的交互。

输入:input()

在Python中,input()函数用于接收用户的文本输入。当程序执行到input()时,会暂停等待用户输入,用户输入内容后按回车键继续执行。

python 复制代码
name = input("请输入你的名字:")
print(f"欢迎,{name}!")

输出:print()

print()函数用于向标准输出设备(通常是屏幕)输出信息。

python 复制代码
print("Hello, World!")

print()函数还可以接受多个参数,使用分隔符连接,并在末尾添加换行符。

python 复制代码
print("姓名", "性别", "年龄", sep=", ", end=".\n")

文件操作


Python对文件的操作同样简单直观。主要通过open()函数打开文件,然后可以进行读取或写入操作。

打开文件:open()

open()函数用于打开一个文件,返回一个文件对象。它的基本语法为open(file, mode='r'),其中file是文件的路径,mode是打开文件的模式,默认为只读模式。

python 复制代码
f = open("example.txt", "r")

读取文件

文件打开后,可以使用read(), readline()readlines()等方法读取内容。

python 复制代码
content = f.read()  # 读取全部内容
print(content)
f.close()

写入文件

打开文件时使用写入模式('w', 'a' 等),就可以向文件写入内容。

python 复制代码
f = open("example.txt", "w")
f.write("Hello, Python!\n")
f.close()

使用with语句操作文件

为了确保文件正确关闭,推荐使用with语句,这样可以自动管理文件的打开和关闭。

python 复制代码
with open("example.txt", "r") as f:
    content = f.read()
    print(content)

网络I/O


在Python中,网络I/O主要涉及到套接字编程。socket模块提供了丰富的方法来支持网络通信。

创建套接字

python 复制代码
import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

服务器端监听客户端连接

python 复制代码
host = 'localhost'
port = 12345
s.bind((host, port))
s.listen(5)
print("服务器启动,等待连接...")
conn, addr = s.accept()
print(f"连接地址:{addr}")
conn.close()

客户端连接服务器

python 复制代码
s.connect((host, port))
s.sendall(b'Hello, server!')
s.close()

结论


Python在输入输出方面提供了丰富而灵活的操作方式,无论是基本的标准输入输出,复杂的文件处理,还是网络通信,都能简洁高效地完成。

Python的输入输出功能不仅限于本文介绍的内容,还有更多高级特性等待探索,例如格式化输出、二进制文件处理、异步I/O等。

相关推荐
破无差12 分钟前
python实现简单的地图绘制与标记20250705
python
向阳@向远方13 分钟前
第二章 简单程序设计
开发语言·c++·算法
喜欢吃豆34 分钟前
目前最火的agent方向-A2A快速实战构建(二): AutoGen模型集成指南:从OpenAI到本地部署的全场景LLM解决方案
后端·python·深度学习·flask·大模型
Mr_Xuhhh44 分钟前
信号与槽的总结
java·开发语言·数据库·c++·qt·系统架构
纳兰青华1 小时前
bean注入的过程中,Property of ‘java.util.ArrayList‘ type cannot be injected by ‘List‘
java·开发语言·spring·list
好开心啊没烦恼1 小时前
Python 数据分析:DataFrame,生成,用字典创建 DataFrame ,键值对数量不一样怎么办?
开发语言·python·数据挖掘·数据分析
liulilittle1 小时前
VGW 虚拟网关用户手册 (PPP PRIVATE NETWORK 基础设施)
开发语言·网络·c++·网关·智能路由器·路由器·通信
Devil枫1 小时前
Kotlin高级特性深度解析
android·开发语言·kotlin
ChinaDragonDreamer1 小时前
Kotlin:2.1.20 的新特性
android·开发语言·kotlin
安之若素^2 小时前
启用不安全的HTTP方法
java·开发语言