Python 的标准库中的 os 模块主要涉及普遍的操作系统功能. 可以在 Linux 和 Windows 下运行, 与平台无关.
导入模块
import os
os 模块
os 模块常用方法
常用文件和文件夹的操作
getcwd()
获取当前工作目录 (当前工作目录默认都是当前文件所在的文件夹)
- result = os.getcwd()
- print(result)
- chdir()
改变当前工作目录
- os.chdir('/home/sy')
- result = os.getcwd()
- print(result)
- listdir()
获取指定文件夹内所有内容的名称列表
- result = os.listdir('/home/sy')
- print(result)
- mkdir()
创建文件夹
- os.mkdir('girls')
- makedirs()
递归创建文件夹
- os.makedirs('/home/sy/a/b/c/d')
- rmdir()
删除空目录
- os.rmdir('girls')
- removedirs()
递归删除文件夹, 必须都是空目录
- os.removedirs('/home/sy/a/b/c/d')
- rename()
文件或者文件夹重命名
- os.rename('/home/sy/a','/home/sy/alibaba'
- os.rename('02.txt','002.txt')
- stat()
获取文件或者文件夹的信息
- result = os.stat('/home/sy/PycharmProject/Python3/10.27/01.py)
- print(result)
- system()
执行系统命令 (危险函数)
- result = os.stat('/home/sy/PycharmProject/Python3/10.27/01.py)
- print(result)
常用环境变量的操作
环境变量是在操作系统中一个具有特定名字的对象, 它包含了一个或者多个应用程序所将使用到的信息. 例如 Windows 和 DOS 操作系统中的 path 环境变量, 当要求系统运行一个程序而没有告诉它程序所在的完整路径时, 系统除了在当前目录下面寻找此程序外, 还应到 path 中指定的路径去找. 用户通过设置环境变量, 来更好的运行进程.
getenv()
获取系统的环境变量
- result = os.getenv('PATH')
- print(result.split(':'))
- putenv()
将一个目录添加到环境变量中 (临时增加, 只对当前脚本有效)
- os.putenv('PATH','/home/sy / 下载')
- os.system('syls')
其他方法
exit()
退出终端的命令
os 模块中常用的属性
curdir
表示当前文件夹, 但是一般用'.'来表示, 一般情况下可以省略
- print(os.curdir)
- pardir
表示上层文件夹, 但是一般用'..'来表示, 不可以省略
- print(os.pardir)
- name
获取代表操作系统的名称或者字符串
- print(os.name) #posix -> linux 或者 unix 系统 nt -> window 系统
- sep
获取系统路径间间隔符
- print(os.sep) # window ->\ linux ->/
- extsep
获取文件名称和后缀之间的间隔符号
- print(os.extsep) # window 和 inux -> .
- linesep
获取操作系统的换行符号
print(repr(os.linesep)) # window -> \r\n linux/unix -> \n
- path = './boys'# 相对
- result = os.path.abspath(path)
- print(result)
- dirname()
- path = '/home/sy/boys'
- result = os.path.dirname(path)
- print(result) # /home/sy
- basename()
- path = '/home/sy/boys'
- result = os.path.basename(path)
- print(result) # boys
- split()
- path = '/home/sy/boys'
- result = os.path.split(path)
- print(result) # ('/home/sy', 'boys')
- join()
- var1 = '/home/sy'
- var2 = '000.py'
- result = os.path.join(var1,var2)
- print(result) # /home/sy\000.py , 产生这个结果的原因是, 我在 window 下运行, 用的是 Linux 下的目录, 但是拼接它采用的是当前系统默认的路径间间隔符, 而 window 默认的是'\'.
- splitext()
- path = '/home/sy/000.py'
- result = os.path.splitext(path)
- print(result) # ('/home/sy/000', '.py')
- getsize()
- path = './000.py'
- result = os.path.getsize(path)
- print(result) # 1981
- isfile()
- path = '/home/sy/000.py'
- result = os.path.isfile(path)
- print(result)
- isdir()
- result = os.path.isdir(path)
- print(result)
- islink()
- path = '/initrd.img.old'
- result = os.path.islink(path)
- print(result)
- #getctime() 获取文件的创建时间 get create time
- #getmtime() 获取文件的修改时间 get modify time
- #getatime() 获取文件的访问时间 get active time
- import time
- filepath = '/home/sy / 下载 / chls'
- result = os.path.getctime(filepath)
- print(time.ctime(result))
- result = os.path.getmtime(filepath)
- print(time.ctime(result))
- result = os.path.getatime(filepath)
- print(time.ctime(result))
- exists()
- filepath = '/home/sy / 下载 / chls'
- result = os.path.exists(filepath)
- print(result)
- isabs()
- path = '/boys'
- result = os.path.isabs(path)
- print(result) # True
- samefile()
- path1 = '/home/sy / 下载 / 001'
- path2 = '../../../ 下载 / 001'
- result = os.path.samefile(path1,path2)
- print(result)
- ismount()
- os.environ['PATH'] += ':/home/sy / 下载'
- os.system('chls')
来源: http://www.bubuko.com/infodetail-2720299.html