操作系统操作指南
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}")
总结
这次咱们主要讲了操作系统和输入输出相关常用代码,希望对你日常工作有所帮助。