os库常用操作
os库也是python常用库之一,要想写出优秀的python代码,少不了和这个库打交道
获取操作系统名称
要获取操作系统名称,一般使用os.name
import os
print(os.name)
nt # window操作系统
posix # linux或者苹果系统
获取环境变量
获得环境变量使用os.environ,它不是一个函数,而是一个含有系统变量参数的对象
import os
print(os.environ['HOMEPATH'])
# 苹果系统使用
# print(os.environ['HOME'])
调用其他程序
利用ps.execvp
函数可以在python程序中运行其他代码
我们先编写一个hello.py
文件,其中只有print('hello')
这一行程序
然后运行以下代码
import os
program='python'
arguments=['hello.py']
print(os.execvp(program,(program,)+tuple(arguments)))
hello
展示当前工作区的其他文件
当我们想寻找文件,或者对某个文件夹中的某一类文件进行操作时,我们先获得某个文件夹下的文件结构,这个时候我们可以使用os.listdir()
,它会返回一个文件或者文件夹名字组成的列表。
import os
print(os.listdir())
['example.py', 'hello.py']
os.path
os.path
也是常用的库,用于文件路径相关的操作
获取文件名+获取路径
import os
print(os.basename('C/vscode_coding/python学习')) # 返回路径
print(os.dirname('C/vscode_coding/python学习')) # 返回当前文件名
'C/vscode_coding'
'python学习'
判断是否绝对地址、判断是否是文件夹、判断是否是文件
在文件操作中,常常会用到一下三个方法,判断是否是绝对地址、文件夹、文件,尤其是在if语句中,结合这些方法可以对不同的地址进行操作,提高代码的健壮性。
import os
print(os.isabs('C/vscode_coding/python学习')) # 判断是否绝对地址
print(os.isdir('C/vscode_coding/python学习')) # 判断是否是文件夹
print(os.isfile('C/vscode_coding/python学习')) # 判断是否是文件
True
True
False
规范化路径字符串
os.path.normcase
是用于规范化地址字符串的,它会将传入地址中的大写字母变小写,同时反斜线变成双斜线。
import os
print( os.path.normcase(r'C/vscode_coding/python学习')) # 大写变小写,反斜线变双斜线
'c\\vscode_coding\\python学习'
拼接路径
将路径依次拼接成完整路径,这是os.path
中最常用的操作之一,将文件所在目录以及文件名拼接成绝对地址或者相对地址。
import os
print(os.path.join(r'C\vscode_coding',r'python学习'))
'C\vscode_coding\python学习'
总结
在本篇文章中,我们总结了os
以及os.path
模块的应用。
在os
模块中,我们可以获取当前系统,环境变量,得到当前工作区的其他文件。
而在os.path
模块中,我们可以判断地址类型,规范化地址,同时还能拼接地址。