Post

python常用模块

python常用模块

os

os模块提供了与操作系统交互的功能,能够处理操作系统相关的底层操作。这应该是比较的内置模块了,感觉它用法挺多的,整理一下挺好的。

(以下都是问的深度求索,哈哈)

文件和目录操作

1
2
3
4
5
6
7
8
9
10
11
12
13
import os

# 创建目录
os.mkdir("new_folder")
os.makdirs("parent/child/grandchild", exist_ok=True) # 避免目录存在时报错

# 删除目录或文件
os.rmdir("empty_folder")
os.remove("old_file.txt")

# 遍历目录内容
for file in os.listdir("."):
    print(file)

路径管理(os.path

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import os

# 路径拼接
path = os.path.join("folder", "subfolder", "file.txt")

# 获取绝对路径
abs_path = os.path.abspath("file.txt")

# 检查是否存在
if os.path.exists("data.txt")
    pass

# 分离文件名和扩展民
filename, ext = os.path.splitext("image.jpg")

系统信息

1
2
3
4
5
6
7
import os

# 获取当前工作目录
cwd = os.getcwd()

# 获取操作系统类型
print(os.name)  # 'posix'(Linux/macOS)或 'nt'(Windows)

环境变量管理

1
2
3
4
5
6
7
8
import os

# 获取环境变量
home_dir = os.environ.get("HOME")
path_var = os.environ.get("PATH")

# 设置环境变量(仅在当前进程生效)
os.evrion["MY_VAR"] = "123"

执行系统命令

1
2
3
4
import os

os.system("ls -l")  # Linux/macOS
os.system("dir")    # Windows

sys

sys模块提供与python解释器和运行时环境交互的功能

(以下也都是问的深度求索)

获取命令行参数

1
2
3
4
5
6
import sys

# 运行脚本时传递参数:python script.py arg1 arg2
script_name = sys.argv[0]
first_arg = sys.argv[1]
second_arg = sys.argv[2]

强制退出程序

1
2
3
4
5
6
import sys

if some_errora_condition:
    sys.exit("程序异常终止")  # 退出并返回错误信息(状态码默认为1)

sys.exit(0)  # 正常退出,状态码0表示成功

重定向标准输出/错误

1
2
3
4
5
6
7
8
9
10
11
12
import sys

with open("output.txt", "w") as f:
    sys.stdout = f  # 输出重定向到文件f
    print("这条信息会写入文件")

# 恢复默认输出(控制台)
sys.stdout = sys.__stdout__
print("这条信息显示在控制台")

# 捕获错误信息
sys.stderr.write("这是一条错误消息\n")

模块搜索路径管理

1
2
3
4
5
6
7
import sys

# 添加自定义路径到模块搜索路径
sys.path.append("/path/to/my/modules")

# 查看当前搜索路径
print("模块搜索路径", sys.path)

获取系统信息

1
2
3
4
5
6
7
import sys

print("操作系统平台:", sys.platform)

print("python版本:", sys.version)

print("默认编码:", sys.getdefaultencoding())  # 默认utf-8

获取递归深度

1
2
3
4
5
6
7
import sys

# 获取当前递归深度限制
print("递归深度限制:", sys.getrecursionlimit())

# 设置新的递归深度(谨慎使用!)
sys.setrecursionlimit(4000)

pathlib

  • 内置模块
  • 用于处理文件和目录
  • 跨平台,适用于不同的操作系统
1
2
3
4
5
6
7
8
9
from pathlib import Path

Path.cwd()   # 当前目录
Path.home()  # 用户目录

# 目录拼接
Path(Path.home(), "Desktop")
Path.joinpath(Path.home(), "Desktop")
Path.cwd() / "temp"

路径信息获取

1
2
3
4
5
6
7
8
9
10
11
12
13
from pathlib import Path

my_path = Path(r"c:\User\lreverse\Desktop\temp")

my_path.name      # 文件名+后缀
my_path.stem      # 文件名
my_path.suffix    # 后缀
my_path.suffixes  # 后缀列表
my_path.root      # 根目录
my_path.parts     # 路径上的文件部分
my_path.parent    # 父级目录

my_path.resolve() # 获取绝对路径

路径判断

1
2
3
4
5
6
7
8
9
from pathlib import Path

my_path = Path(r"c:\User\lreverse\Desktop\temp")

if my_path.exists():  # 判断路径是否存在
    if my_path.is_file():  # 判断是否为文件
        pass
    elif my_path.is_dir():  # 判断是否为目录
        pass

路径建立、删除

1
2
3
Path.mkdir()  # 创建文件
Path.rmdir()  # 删除文件夹(文件夹必须为空
Path.unlink() # 删除文件
This post is licensed under CC BY 4.0 by the author.