标准输出 - print()
最常用的输出函数,默认输出到控制台( ̄▽ ̄*)
1
2
3
|
print("Hello World!") # 输出字符串
print(42) # 输出数字
print([1, 2, 3]) # 输出列表
|
格式化输出方式:
1
2
3
4
5
6
7
|
name = "Alice"
age = 25
# f-string (Python 3.6+推荐)
print(f"{name} is {age} years old!")
# format方法
print("{} is {} years old!".format(name, age))
|
从命令行获取用户输入(๑•̀ㅂ•́)و✧
基础用法:
1
2
|
name = input("请输入你的名字: ") # 提示语是可选的
print(f"你好,{name}!")
|
⚠️ 注意:
- input()永远返回字符串类型
- 需要其他类型要用类型转换:
1
|
age = int(input("请输入年龄: ")) # 转换为整数
|
命令行参数 - sys.argv
程序启动时传递的参数可以通过sys模块获取(ノ◕ヮ◕)ノ*:・゚✧
1
2
3
4
|
import sys
print("脚本名:", sys.argv[0]) # 第一个参数总是脚本名称
print("参数列表:", sys.argv[1:]) # 后续是传递的参数
|
运行示例:
1
|
python script.py arg1 arg2
|
文件描述符操作
更底层的方式是直接操作文件描述符(ง •_•)ง
1
2
3
4
5
6
7
|
import sys
# 标准错误输出
sys.stderr.write("这是一个错误消息\n")
# 标准输入读取(一行)
line = sys.stdin.readline()
|
高级技巧 - 重定向
可以临时重定向标准输入输出٩(◕‿◕。)۶
1
2
3
4
5
6
7
|
import sys
with open('output.txt', 'w') as f:
sys.stdout = f # 重定向标准输出
print("这会被写入文件")
sys.stdout = sys.__stdout__ # 恢复默认
|
最佳实践小贴士
- 用户输入要始终验证:
1
2
3
4
5
6
|
while True:
try:
num = int(input("请输入数字: "))
break
except ValueError:
print("输入无效,请重试!")
|
- 大量输出时考虑缓冲:
1
2
|
import sys
sys.stdout.flush() # 手动刷新缓冲区
|
- 跨平台换行符:
1
|
print("line1", "line2", sep=os.linesep) # 自动适应系统换行符
|
这些就是Python命令行I/O的基础知识啦!(≧∇≦)ノ 要进行更复杂的操作,还可以探索argparse
模块(处理命令行参数)和logging
模块(日志记录)哦~