初学者python笔记(os模块、sys模块)


os模块与sys模块看字义就知道是与操作系统有关的,但两个的功能侧重点不一样,前者侧重系统操作,后者侧重窗口的操作。 今天就来分享一下os模块与sys模块的相关用法(这两个模块中有些方法其实并不常用,文章内标#号的就表示不常用的方法

os模块

直接调用的os方法
  1. os.chdir(’…’) 返回上一层工作目录

  2. os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
    os.chdir(“dirname”) 改变当前脚本工作目录;相当于shell下cd
    改变工作目录:

import os
print(os.getcwd())  #输出当前的工作目录
os.chdir('test1')  #改变当前的工作目录为test1这个目录,相当于shell下的cd
print(os.getcwd())  #工作目录则被改了
  1. # os.curdir 返回当前目录: (’.’)
    # os.pardir 获取当前目录的父目录字符串名:(’…’)

  2. 目录生成与删除(目录即文件夹)
    os.makedirs(‘dirname1/dirname2’)
    可生成多层递归目录

    os.removedirs(‘dirname1’)
    若目录为空,则删除,并递归到上一级目录,如果上一级也为空,则删除,依此类推

    os.mkdir(‘dirname’)
    生成一个本级目录;相当于shell中mkdir dirname

    os.rmdir(‘dirname’)
    删除一个空目录,若目录不为空则无法删除,会报错;相当于shell中rmdir dirname

  3. 获取文件信息
    os.listdir(‘dirname’) 列出指定目录下的所有文件和子目录(包括隐藏文件),并以列表的方式打印
    os.stat(‘path/filename’)
    获取文件/目录信息的相关信息

  4. 文件删除与重命名
    os.remove() 删除一个文件
    os.rename(“oldname”,“newname”) 重命名文件/目录

  5. 终止符与路径分割
    os.linesep 输出当前平台使用的行终止符,windows系统下为"\r\n",Linux系统下为"\n", mac系统下为\r
    os.pathsep 输出用于分割文件路径的字符串 windows系统下为"\r\n",Linux系统下为"\n", mac系统下为\r

  6. 分隔符与环境变量
    # os.sep 输出操作系统特定的路径分隔符,win下为"\",Linux下为"/"(有一个os.path.join()就够拼接了)
    # os.name 输出字符串指示当前使用平台。win->‘nt’; Linux->‘posix’
    # os.system(“bash command”) 运行shell命令,直接显示
    # os.environ 获取系统环境变量,(环境变量可以直接在操作系统上看到)

os.path的相关方法
  1. 路径与目录
    os.path.abspath(path) 返回path规范化的绝对路径

    #os.path.split(path) 将path分割成目录和文件名二元组返回(少用),需要分割的时候一般都可以手动分割

    os.path.dirname(path)
    返回path的目录。其实就是os.path.split(path)的第一个元素

    os.path.basename(path)
    返回path最后的文件名。如果path以/或\结尾,那么就会返回空值,即os.path.split(path)的第二个元素

  2. 对路径与文件的相关判断
    os.path.exists(path)
    判断路径是否存在,如果path存在,返回True;如果path不存在,返回False

    os.path.isabs(path)
    判断是否绝对路径,如果path是绝对路径,返回True

    os.path.isfile(path)
    如果path是一个存在的文件,返回True。否则返回False

    os.path.isdir(path)
    如果path是一个存在的目录,则返回True。否则返回False

  3. 路径的拼接
    os.path.join(path1[, path2[, …]])
    拼接路径,将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

  4. 修改时间的查看
    os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间
    os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间

sys模块

  1. sys.argv()
    命令行参数List化,第一个元素是程序本身路径,可以获取输入后的多个参数
import sys
print(sys.argv)  #输出当前的执行路径
  1. sys.exit(n)
    用作退出程序,正常退出时exit(0)

  2. sys.path()
    返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

  3. 获取信息
    # sys.version() 获取Python解释程序的版本信息(少用)
    # sys.maxint() 最大的Int值
    # sys.platform() 返回操作系统平台名称(少用)

  4. sys.stdout.write()
    就是将内容存放到缓存上,然后一个一个打印到显示器上,如下实现一个简单进度条效果:

import sys,time
for i in range(10):
    sys.stdout.write('#')  #先将'#'放到缓存里面
    time.sleep(1)  #沉睡1秒
    sys.stdout.flush()  #再刷新一下

运行结果:
开始
结束
它会一个一个打印到屏幕上,就像进度条一样,实现动态更新

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸿蒙Next

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值