学会这 10 个 Python os/sys 技巧,你会少走很多弯路

内容分享2天前发布
0 2 0

在 Python 开发中,os 和 sys 模块提供了许多底层而实用的功能,从文件操作到系统信息、命令行参数,再到内存监控,掌握它们可以让你的开发效率和调试能力大幅提升。本文整理了我个人觉得最实用的 10 个 os/sys 技巧,帮你少走弯路。

学会这 10 个 Python os/sys 技巧,你会少走许多弯路

1)os.listdir

os.listdir() 会返回指定文件夹中的内容列表。

列如有一个名为 eth 的文件夹:

学会这 10 个 Python os/sys 技巧,你会少走许多弯路

结果就是 blank 目录下的文件和子文件夹。

⚠️ 注意:它只会列出当前目录的一层内容,不会递归进入子文件夹。

如果需要递归列出所有文件,就要用 os.walk 而不是 os.listdir。

2)os.walk

相比 os.listdir,os.walk() 更强劲,它能递归遍历整个文件夹,包括所有子文件夹和文件。

学会这 10 个 Python os/sys 技巧,你会少走许多弯路

在每次循环中,os.walk 返回一个三元组:

  • root:当前所在路径
  • subfolders:当前路径下的子文件夹列表
  • filenames:当前路径下的文件列表

3)os.system

os.system() 可以让 Python 执行一条终端命令。

学会这 10 个 Python os/sys 技巧,你会少走许多弯路

优点:可以在 Python 中动态拼接命令并执行。

注意:并不是所有的终端命令都能通过 os.system 正常运行。

4)os.system(“cd folder”) 不起作用

在终端中,cd 用来切换目录:

学会这 10 个 Python os/sys 技巧,你会少走许多弯路

你会发现目录并没有改变

缘由是:os.system() 会启动一个新的子进程执行命令,命令执行完毕后,子进程就结束了,所以当前 Python 进程的工作目录没有被修改。

✅ 正确的做法是使用 os.chdir()

学会这 10 个 Python os/sys 技巧,你会少走许多弯路

os.chdir() 会直接修改当前 Python 进程的工作目录,是程序内部切换目录的正确方法。

5)os.get_terminal_size()

获取当前终端窗口的大小(列数和行数):

学会这 10 个 Python os/sys 技巧,你会少走许多弯路

6)os.environ

os.environ 是一个字典,里面保存了当前系统的所有环境变量

这在应用需要读取自定义环境变量时超级有用。

学会这 10 个 Python os/sys 技巧,你会少走许多弯路

7)sys.argv

sys.argv 是一个列表,保存了运行 Python 脚本时传入的命令行参数。下面的示例是启动notebook kernel 的命令参数:

学会这 10 个 Python os/sys 技巧,你会少走许多弯路

8)sys.path

sys.path 是一个字符串列表,每个字符串代表一个文件夹路径

当我们在 Python 中 import 一个库时,解释器会按照 sys.path 中的路径顺序去搜索对应的模块。

学会这 10 个 Python os/sys 技巧,你会少走许多弯路

输出结果就是一堆路径,列如当前目录、标准库目录、第三方库目录等。

了解 sys.path 很有用:

  • 可以知道 Python 是从哪里加载模块的
  • 如果需要导入自定义模块,可以临时往 sys.path 里追加路径
sys.path.append("/my/custom/path")

这样就能成功导入该目录下的模块了。

9)sys.executable / sys.version / sys.version_info / sys.platform

这些属性可以让我们获取 Python 解释器和安装环境的信息

常见的有:

学会这 10 个 Python os/sys 技巧,你会少走许多弯路

这些信息在以下场景很有用:

  • 程序需要确认运行环境(如兼容性检查)
  • 日志中记录 Python 版本和系统信息
  • 动态决定某些依赖或代码分支

10)sys.getsizeof

sys.getsizeof() 用来返回一个对象占用的 内存大小(字节)

学会这 10 个 Python os/sys 技巧,你会少走许多弯路

它可以作用于任意对象,包括列表、字典、集合等。

用途:

  • 检查对象占用的内存
  • 在处理大数据或优化内存使用时特别有协助

掌握这些 os 和 sys 的小技巧,你可以:

  • 快速操作文件和目录
  • 灵活调用系统命令
  • 获取 Python 环境信息
  • 处理命令行参数
  • 检查对象内存占用

这些都是日常开发、调试和优化中超级实用的技能。

熟练使用它们,可以让你的 Python 编程更高效、更灵活,也更接近「工具型高手」的水平。

© 版权声明

相关文章

2 条评论

  • 头像
    湾湓村口的大姑娘 读者

    膜拜大佬👏

    无记录
    回复
  • 头像
    来不及说再见 读者

    收藏了,感谢分享

    无记录
    回复