Python实用代码片段(三)

本文详细介绍了Python中实现操作系统相关功能的操作,如路径处理、目录操作、文件管理、Shell命令、环境变量、工作目录切换、临时文件、系统信息获取以及标准输入输出重定向等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上期回顾

操作系统操作指南

1. 浏览文件路径

为了构建和解析路径,在不同操作系统间保持兼容性:

import os  
# 构建一个与底层操作系统兼容的路径  
path = os.path.join('mystic', 'forest', 'artifact.txt')  
# 获取典籍所在的目录  
directory = os.path.dirname(path)  
# 揭示神器的名称  
artifact_name = os.path.basename(path)

2. 列出目录内容

为了揭示神秘目录中的所有实体:

import os  
contents = os.listdir('enchanted_grove')  
print(contents)

3. 创建目录

为了在文件系统的结构中创造新的目录:

import os  
# 创建单个目录  
os.mkdir('alchemy_lab')  
# 创建一系列目录  
os.makedirs('alchemy_lab/potions/elixirs')

4. 移除文件和目录

为了擦除文件或目录,驱逐它们的本质:

import os  
# 删除一个文件  
os.remove('unnecessary_scroll.txt')  
# 删除一个空目录  
os.rmdir('abandoned_hut')  
# 删除一个目录及其内容  
import shutil  
shutil.rmtree('cursed_cavern')

5. 执行 Shell 命令

为了直接从 Python 中调用 Shell 的古老力量:

import subprocess  
# 调用 'echo' 咒语  
result = subprocess.run(['echo', 'Revealing the arcane'], capture_output=True, text=True)  
print(result.stdout)

6. 操作环境变量

为了读取和修改神秘的环境变量:

import os  
# 读取 'PATH' 变量  
path = os.environ.get('PATH')  
# 创建一个新的环境变量  
os.environ['MAGIC'] = 'Arcane'

7. 更改当前工作目录

为了将你的存在转移到文件系统中的另一个目录:

import os  
# 移动到 'arcane_library' 目录  
os.chdir('arcane_library')

8. 路径存在性和类型

为了辨别路径的存在与性质 —— 它们是文件还是目录:

import os  
# 检查路径是否存在  
exists = os.path.exists('mysterious_ruins')  
# 确定路径是否为目录  
is_directory = os.path.isdir('mysterious_ruins')  
# 判断路径是否为文件  
is_file = os.path.isfile('ancient_manuscript.txt')

9. 使用临时文件

为了召唤临时文件和目录,短暂而飘忽:

import tempfile  
# 创建一个临时文件  
temp_file = tempfile.NamedTemporaryFile(delete=False)  
print(temp_file.name)  
# 创建一个临时目录  
temp_dir = tempfile.TemporaryDirectory()  
print(temp_dir.name)

10. 获取系统信息

为了揭示关于主机系统的信息,它的名称以及支持的咒语:

import os  
import platform  
# 发现操作系统  
os_name = os.name  # 'posix', 'nt', 'java'  
# 揭示详细的系统信息  
system_info = platform.system()  # 'Linux', 'Windows', 'Darwin'

使用命令行界面 —— STDIN、STDOUT、STDERR

1. 读取用户输入

从 STDIN 获取输入:

user_input = input("Impart your wisdom: ")  
print(f"You shared: {user_input}")

2. 打印到 STDOUT

将消息打印到控制台:

print("Behold, the message of the ancients!")

3. 格式化打印

将变量巧妙地编入你的消息中:

name = "Merlin"  
age = 300  
print(f"{name}, of {age} years, speaks of forgotten lore.")

4. 从 STDIN 读取行

逐行从 STDIN 中修剪空白:

import sys  
for line in sys.stdin:  
    print(f"Echo from the void: {line.strip()}")

5. 写入到 STDERR

向 STDERR 发送消息:

import sys  
sys.stderr.write("Beware! The path is fraught with peril.\n")

6. 重定向 STDOUT

重定向 STDOUT:

import sys  
original_stdout = sys.stdout  # 保留原始的 STDOUT  
with open('mystic_log.txt', 'w') as f:  
    sys.stdout = f  # 将 STDOUT 重定向到文件  
    print("This message is inscribed within the mystic_log.txt.")  
sys.stdout = original_stdout  # 将 STDOUT 恢复到原始状态

7. 重定向 STDERR

重定向 STDERR:

import sys  
with open('warnings.txt', 'w') as f:  
    sys.stderr = f  # 重定向 STDERR  
    print("This warning is sealed within warnings.txt.", file=sys.stderr)

8. 提示输入密码

提示输入密码:

import getpass  
secret_spell = getpass.getpass("Whisper the secret spell: ")

9. 命令行参数

处理和解析命令行参数:

import sys  
# 脚本的名称是第一个参数,其后是调用者传递的参数  
script, first_arg, second_arg = sys.argv  
print(f"Invoked with the sacred tokens: {first_arg} and {second_arg}")

10. 使用 Argparse 进行复杂的 CLI 交互

添加描述和选项/参数:

import argparse  
parser = argparse.ArgumentParser(description="Invoke the ancient scripts.")  
parser.add_argument('spell', help="The spell to cast")  
parser.add_argument('--power', type=int, help="The power level of the spell")  
args = parser.parse_args()  
print(f"Casting {args.spell} with power {args.power}")

总结

这次咱们主要讲了操作系统和输入输出相关常用代码,希望对你日常工作有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值