第十九天学Python:标准库(3):os、os.path

转眼间五一假期已经到了最后一天,不知道五月初定下的新计划完成多少了呢?/doge 今天再来说一下Python标准库的内容。
在这里插入图片描述

os模块为我们提供了使用与操作系统有关功能的途径,其内置各种可用于不同操作系统的函数。我们在使用他们之前,一定要先明确哪些函数在自己的系统上是可用的。
比如一些控制操作系统为进程分配CPU时间的函数是只能在Unix系统上使用的,还有一些只能在Linux上用,或者再有些是windows可以和其他系统一起用的函数等等等等,这些内容在Python官方的文档中均有详细说明。

在本文中,将列举一些常用的函数。
首先,依然是导入os模块。

import os

os

如果不想查看源码,也懒得上官网一个个找的话,我们可以用 help() 函数查看(虽然同样需要一个个找/doge)
在这里插入图片描述

os.environ

>>> os.environ

os.environ主要是用于获取当前系统里设置的环境变量用的
在这里插入图片描述

os.system(command)

command是一个字符串,在这里是指在shell中执行commmand所代表的的命令
比如ping命令

os.system('ping 127.0.0.1')

('ping 127.0.0.1’一般是做测试用的)

os.getcwd()

这个函数会以字符串形式返回当前工作路径

>>> os.getcwd()
'F:\\Python_Le'

os.curdir

它同样会返回当前目录,不过要注意的是,os.curdir是一个变量;而os.getcwd()是一个函数。
它执行后会是这样:

>>> os.curdir
'.'

这个’.'就是代指当前的目录的意思。是不是很蒙?看下一条就明白了

os.path

系统的问题以后有机会的话会再说,今天主要想说的是与路径有关的操作

os.path.abspath()

它常常用于以字符串格式返回绝对路径,比如:

>>> os.path.abspath(os.curdir)
'D:\\Python'

(这里面就用到os.curdir这个变量了,尽管它的返回值是’.’,但是它代表了当前的路径,如果我们把os.curdir赋值给别的变量,再用abspath,也会得到相同的结果)
这里用一个路径举例有点不贴切,在介绍完下面两个函数后会用一个文件来细说三者的区别

os.path.dirname()

os.path.dirname返回的是一个文件的路径

>>> os.path.dirname( os.path.abspath(os.curdir) )
'D:\\'

这里我们把上一次返回的’D:\Python’作为输入的参数,可见,它返回的值变成了’D:\’
这里用一个路径举例有点不贴切,在介绍完下面的函数后会用一个文件来细说三者的区别

os.path.basename()

依然是以同一个路径为参数

>>> os.path.basename(os.path.abspath(os.curdir))
'Python'

这里用一个路径举例有点不贴切,下面,会用一个文件来细说三者的区别

abspath? - dirname? - basename?

我们首先来设一个文件的地址:

name = 'F:\Python_Le\oos.py'

接下来我们分别调用这三个函数:

print(os.path.abspath (name))
print(os.path.dirname (name))
print(os.path.basename(name))

F5执行:

F:\Python_Le\oos.py
F:\Python_Le
oos.py

这样一看,三者的区别就很明显了

  • abspath 显示绝对路径
  • dirname 显示文件路径
  • basename 显示文件名

————————————
今天只是列举了几个简单的例子,os和os.path本身还有很多值得挖掘的部分,以后如果有用到的话会再说的:)

好吧,其实是明天后天要考试了,所以一切的时间都显得那么紧张,像是码字这种活动的时间就被压缩得更少。五一假期五天里,一天也没闲着,反倒比4月上网课还忙。学校这边布置了新的任务,在五一前三天还发布了三天跑车的短篇系列.(捞一下),还要准备考试。今天上午,又传来不好的消息,今年因为疫情,我们组的比赛很可能要凉。报名和参赛时间基本都要定下来了,我们再回不了实验室,可真就是重在参与了:)
这两天的内容有些水,全都是挑一些比以往还要基础的内容说,还是需要深刻的反思啊哈哈哈。
再加上明后天要考试,Python系列就停更两天,考完试后我要回来认认真真地更新!
——————————
我是康.,希望做一名能帮助到各位的博主,这两天的内容有些水。
好吧,特别水,是要深刻反省的。考完试后要开始认认真真地更新了。
在更新完Python系列后,根据时间安排可能会再开机器学习或者算法系列,欢迎感兴趣的小伙伴与我共同学习,一起进步!

猜你喜欢

转载自blog.csdn.net/k_ksy/article/details/105929701