摘要:
  本文主要是介绍自己在学习python的过程中所使用到的一些os模块函数的介绍,后边在遇到该模块函数的其他函数,自己觉得需要记录用法的都会记录在本篇文章。

一.os模块介绍

  os就是operating system的缩写,它提供各种Python程序与操作系统进行交互的接口。通过使用os模块,一方面可以方便地与操作系统进行交互,另一方面可以增强代码的可移植性。如果该模块中相关功能出错,会抛出OSError异常或其子类异常。

  os模块文件开头说明如下:

python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
"""OS routines for NT or Posix depending on what system we're on.

This exports:
- all functions from posix or nt, e.g. unlink, stat, etc.
- os.path is either posixpath or ntpath
- os.name is either 'posix' or 'nt'
- os.curdir is a string representing the current directory (always '.')
- os.pardir is a string representing the parent directory (always '..')
- os.sep is the (or a most common) pathname separator ('/' or '\\')
- os.extsep is the extension separator (always '.')
- os.altsep is the alternate pathname separator (None or '/')
- os.pathsep is the component separator used in $PATH etc
- os.linesep is the line separator in text files ('\r' or '\n' or '\r\n')
- os.defpath is the default search path for executables
- os.devnull is the file path of the null device ('/dev/null', etc.)

Programs that import and use 'os' stand a better chance of being
portable between different platforms. Of course, they must then
only use functions that are defined by all platforms (e.g., unlink
and opendir), and leave all pathname manipulation to os.path
(e.g., split and join).
"""

二.os模块函数介绍

2.1 os.system()

1.说明

  • 该函数用于将字符串转化为系统命令而执行。
  • 使用该函数的时候需要在程序中导入os模块。
  • 该函数执行成功返回0,否则返回其他数字。返回的数字根据出错类型给出(1: Operation not permitted,2: No such file or directory …等)。

使用格式如下:

python
1
2
import os  # 导入os模块,以调用os模块中的函数执行相应的操作,该行一般放在程序开头。
os.system("string") # 参数为字符串类型,返回值是一个数字

2.实例

  • (1)清屏

    python
    1
    2
    3
    4
    # Windows中与Linux中清屏指令不同,需要注意
    import os
    os.system("cls") # 在Windows中为cls
    os.system("clear") # 在Windows中为clear
  • (2)暂停

    python
    1
    2
    import os
    os.system("pause") # 暂停命令执行,并提示“请按任意键继续”

2.2 os.name

1.说明

  • 该变量返回当前操作系统的类型,当前只有2个值:分别是posix , nt , 对应linuxwindows
  • 使用的时候也需要提前导入os模块,格式如下
python
1
2
import os  # 导入os模块,以调用os模块中的函数执行相应的操作,该行一般放在程序开头。
os.name # 返回值为字符串类型

2.实例

1
2
3
import os
print(os.name) # 打印当前系统类型
print(type(os.name)) # 打印返回值类型

2.3 os模块获取文件路径

  注意:在Windows中和Linux中路径的格式不同,在Windows中是“\”分隔路径,而在Linux中是以“/”分隔路径

2.3.1 os.path.dirname()

1.说明

  • 该函数用于获取某一文件所在目录的绝对路径,不包含文件名。
  • 函数的返回值为字符串类型数据。
  • 使用格式如下
python
1
2
import os  # 导入os模块,以调用os模块中的函数执行相应的操作,该行一般放在程序开头。
os.path.dirname("file path") # 参数为文件路径,返回值为字符串类型

2.实例

  • 直接输入文件绝对路径作为参考获取文件所在目录
python
1
2
3
4
5
6
import os
# 注意这里的路径用是 "\\",原因在于Window下文件路径是以"\"分隔开来
# 但是在python中该字符被视为转义字符的开始,要恢复其字符的特性,需要再加一个"\"
path = os.path.dirname("E:\\MyStudy\\VScode\\VSCode插件.txt") # 获取文件所在目录路径
print(type(path)) # 打印返回值类型
print(path) # 打印路径
  • 以当前文件路径作为参考获取文件所在目录
python
1
2
3
4
5
6
7
import os
# 这里使用python的__file__属性
path = os.path.dirname(__file__) # 获取文件所在目录路径
print(type(path)) # 打印返回值类型
print(path) # 打印路径
print(__file__) # 打印__file__内容
print(type(__file__)) # 打印__file__内容

2.3.2 os.getcwd()

1.说明

  • 该函数用于返回当前的工作目录
  • 没有参数,返回值为工作目录的字符串类型路径
  • 使用格式如下
python
1
2
import os    # 导入os模块,以调用os模块中的函数执行相应的操作,该行一般放在程序开头。
os.getcwd() # 返回值为字符串类型

2.实例

python
1
2
3
4
import os
path = os.getcwd() # 获取当前工作目录
print(path)
print(type(path))

2.3.3 os.path.abspath

1.说明

  • 该函数可以获取文件的绝对地址,包括文件名称在内
  • 参数为文件路径,返回值为字符串类型,包含了文件名称在内
  • 使用格式如下
python
1
2
import os    # 导入os模块,以调用os模块中的函数执行相应的操作,该行一般放在程序开头。
os.path.abspath(__file__) # 获取当前文件目录 ,返回值为字符串类型

2.实例

python
1
2
3
4
import os
path = os.path.abspath(__file__) # 获取当前文件的路径,包含文件名称
print(path)
print(type(path))

  未完,待续。。。。。。