百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

python基础模块三剑客:sys、os、shutil(增加示例代码)

off999 2025-07-02 23:53 4 浏览 0 评论

注:上个篇由于不熟悉头条号编辑器,导致示例代码丢失。现在全部以图片的形式加回。

有同学问了个问题:在python里如何复制、删除、重命名文件?

有个同学知道os.system(),就回答说:

os.system('cp a.v b.v')

os.system('rm b.v')

os.system('mv a.v b.v')

那如果是windows系统呢?

有个熟悉DOS命令的同学回答说:

os.system('copy a.v b.v')

os.system('del b.v')

os.system('rename a.v b.v')

又有个同学找到一个“通用的”方法说,windows上可以安装类unix小工具,然后继续用linux的方法。

其实python已经为我们考虑过系统兼容的问题了。在python的官方网站上有以下的描述:

Runs anywhere, including Mac OS X, Windows, Linux, and Unix, with unofficial builds also available for Android and iOS.

所以,在开始更深入的学习之前,我们有必要先来学一下基本的与操作系统(os)、文件(sys)、shell(shutil)打交道的方式。os, sys, shutil这三个模块/包是python安装时自带的,基本上能覆盖我们的需求。

研究os、sys、shutil提供了哪些函数

我们先用dir()来看看这三个模块/包提供了哪些函数,然后挑一些常用的函数介绍下。import os模块后,用dir(os)来查看os提供了哪些函数,如下(常用的用蓝色标出):

sys和shutil就留给同学们自己做实验了。

把研究结果整理如下

我们把函数名字看起来眼熟的整理如下:

只列个函数名字有什么用?怎么没有用法介绍?函数太多,我不想也不太实际为每个函数都写一段完整的用法说明和使用示例。我还是来介绍下怎么查帮助文档吧。

搞懂每个函数的用途和用法

举个例子,如果你想看看os.getcwd和os.popen的用法,你可以在terminal里如下操作:

还不懂怎么办?

  • python的书
  • 百度、bing、google(如果你在国外、或者你有VPN/VPS)
  • 知乎、博客
  • github上找些开源代码参考
  • 身边的同学、同事、朋友
  • 微信群

当然还可以阅读本号ExASIC的《Python在芯片中的应用》系列文章。

疑难问题辨析

os.mkdir与os.makedirs

mkdir创建单个目录,而makedirs创建一串目录,类似shell命令make -p。

os.path.curdir、os.path.abspath、os.path.dirname、os.path.basename

curdir是属性,不是函数,返回一个字符串‘.’abspath返回完整的路径。dirname和basename的输入参数是完整路径,basename返回文件名,dirname返回文件名前面的路径。

所以说,dirname和basename并不会判断文件或路径是否真实存在,只是对提供的字符串做处理。

os.path.isdir、os.path.isfile、os.path.islink

这几个函数不只是字符串处理哦,文件或目录不存在时会报错。从名字上就可以看出它们的功能,判断是否是文件、目录、软链接,返回True和False。

os.path.split、os.path.splitext、os.path.join

split是把目录和文件分开,splitext是把文件名和后缀名分开,join把目录、文件用/组合成路径。

os.path.getsize、os.path.getatime、os.path.getctime、os.path.getmtime

os.path.getsize获取文件的大小。os.path.getatime最后一次access时间,可以是创建、修改、读等。os.path.getctime最后一次change时间,可以是修改、改变权限、改变所有者等。os.path.getmtime最后一次modify时间,创建、修改等。文件的更多信息可以通过os.stat()来获取。

写个实用的脚本/代码

比如,我们在仿真时,需要根据testcase名字建立一个仿真目录。具体事项如下:

  1. 从命令行获取testcase名
  2. 确认项目根目录,获取当前目录的相对路径
  3. 用find命令获取testcase的类别
  4. 如果类别不存在,则新建类别目录,并产生Makefile
  5. 进入类别目录里
  6. 如果testcase目录不存在,则新建,并创建仿真脚本的软链接和Makefile
  7. 完毕后,打印成功提示

参考脚本:

相关推荐

python基础模块三剑客:sys、os、shutil(增加示例代码)

注:上个篇由于不熟悉头条号编辑器,导致示例代码丢失。现在全部以图片的形式加回。有同学问了个问题:在python里如何复制、删除、重命名文件?有个同学知道os.system(),就回答说:os.syst...

Python常用文件操作库使用详解(python 对文件操作)

Python生态系统提供了丰富的文件操作库,可以处理各种复杂的文件操作需求。本教程将介绍Python中最常用的文件操作库及其实际应用。一、标准库核心模块1.1os模块-操作系统接口主要功能:文件...

你知道Python 如何进行高效的代码重构吗?

点赞、收藏、加关注,下次找我不迷路写出高质量的代码是每个程序员的追求。而代码重构作为提升代码质量的重要手段,却常常被新手忽视。很多新手在编写代码时,只关注功能是否实现,却不注重代码的结构和可维护性,...

Python常用内置模块介绍——文件与系统操作详解

Python提供了多个强大的内置模块用于文件和系统操作,下面我将详细介绍最常用的几个模块及其核心功能。1.os模块-操作系统交互os模块提供了与操作系统交互的接口,包括文件/目录操作、进程管理、环...

Python的tarfile模块解压缩.tar/.tar.gz等文件

python中的标准库tarfile模块可以帮助我们快速压缩或者解压后缀为.tar/.tar.gz/.tar.bz2/.tar.xz的文件。01、tarfile核心类与函数介绍使用方法因为tarfil...

批量重命名工具,Bulk Rename Utility软件体验

平常在电脑上处理电子文件,经常在得到文件本身时,没有空闲和精力去为文件重命名,像是一张图片,要作为下一个步骤的素材。而处理完事过后就不理它了,顺手直接丢回收站或者放在硬盘里。但是想把文件存档和提交给上...

照片怎样重命名?方法有四种(照片怎么可以重命名)

照片怎样重命名?照片在我们日常生活中扮演着越来越重要的角色,但是有时候,我们需要对照片进行重命名,以便更好地组织和查找它们,这样也可以大大提高我们的效率。在这篇文章中,我们将介绍四种简单的方法,让你轻...

你需要批量创建文件夹并命名吗,给你推荐几个方法

小李是一家设计公司的项目经理,最近接了一个大项目,需要整理大量的设计稿。每个设计稿都需要单独创建一个文件夹,以方便团队成员协作。手动创建文件夹效率太低,而且容易出错。小李在网上搜索了各种方法,尝试了P...

怎样批量重命名一个工作簿中的所有工作表

上篇文章,Python数据的选取和处理,阅读量93,收藏15,没有评论。目前正在复习Python+Excel实现办公自动化,有兴趣的可以一起讨论,共同提高。花了近4个小时终于把6个分部的统计工作表做好...

Windows如何批量修改文件后缀名(电脑如何批量修改文件后缀名)

在Windows系统中药批量修改文件后缀名的方式非常多,每个方法的优缺点各有不同,下面通过几个常见的方式给大家介绍下,Windows如何批量修改文件后缀名的。给有需要的朋友几个参考。方法一:使用文件资...

Python3+ 变量命名全攻略:PEP8 规范 + 官方禁忌 + 实战技巧,全搞懂!

Python3+变量命名规则与约定详解一、官方命名规则(必须遵守)1.合法字符集变量名只能包含:大小写字母(a-z,A-Z)数字(0-9)下划线(_)2.禁止数字开头合法:user_age,...

python代码实现读取文件并生成韦恩图

00、背景今天战略解码,有同学用韦恩图展示各个产品线的占比,效果不错。韦恩图(Venndiagram),是在集合论数学分支中,在不太严格的意义下用以表示集合的一种图解。它们用于展示在不同的事物群组之...

python学习第二天:用Pycharm新建的第一个程序

分享第一次使用Pycharm学到的内容第一次打开得到上面图片projects:项目customize:自定义plugins:插件learn:学习newproject新建项目聪明如我在插件那里找到了汉...

如何编写第一个Python程序(python第一个代码)

一、第一个python程序[掌握]python:python解释器,将python代码解释成计算机认识的语言pycharm:IDE(集成开发环境),写代码的一个软件,集成了写代码,...

Python文件读写操作详解:从基础到实战

Python文件的读写操作在Python中,文件操作非常常见,可以通过内建的open()函数进行文件的读取、写入、创建等操作。理解文件操作的模式和with语句对于确保代码的简洁性和效率至...

取消回复欢迎 发表评论: